diff --git a/common/djangoapps/student/tests/factories.py b/common/djangoapps/student/tests/factories.py index 4c9130f9b1..2ee87d6990 100644 --- a/common/djangoapps/student/tests/factories.py +++ b/common/djangoapps/student/tests/factories.py @@ -29,6 +29,7 @@ from common.djangoapps.student.roles import GlobalStaff from common.djangoapps.student.roles import CourseBetaTesterRole from common.djangoapps.student.roles import CourseInstructorRole from common.djangoapps.student.roles import CourseStaffRole +from common.djangoapps.student.roles import OrgInstructorRole from common.djangoapps.student.roles import OrgStaffRole # Factories are self documenting @@ -233,7 +234,6 @@ class AccountRecoveryFactory(DjangoModelFactory): # lint-amnesty, pylint: disab is_active = True -# pylint: disable=unused-argument class BetaTesterFactory(UserFactory): """ Given a course Location, returns a User object with beta-tester @@ -273,6 +273,20 @@ class InstructorFactory(UserFactory): CourseInstructorRole(extracted).add_users(self) +class OrgInstructorFactory(UserFactory): + """ + Given a course Location, returns a User object with org-instructor + permissions for `course`. + """ + last_name = 'Org-Instructor' + + @factory.post_generation + def course_key(self, _create, extracted, **kwargs): + if extracted is None: + raise ValueError('Must specify a CourseKey for an org-instructor user') + OrgInstructorRole(extracted.org).add_users(self) + + class OrgStaffFactory(UserFactory): """ Given a course Location, returns a User object with org-staff diff --git a/lms/djangoapps/courseware/tests/factories.py b/lms/djangoapps/courseware/tests/factories.py index 3b54903b82..d0657241e5 100644 --- a/lms/djangoapps/courseware/tests/factories.py +++ b/lms/djangoapps/courseware/tests/factories.py @@ -16,10 +16,6 @@ from lms.djangoapps.courseware.models import ( XModuleStudentPrefsField, XModuleUserStateSummaryField ) -from common.djangoapps.student.roles import ( - OrgInstructorRole, -) -# Imported to re-export from common.djangoapps.student.tests.factories import UserFactory from common.djangoapps.student.tests.factories import UserProfileFactory as StudentUserProfileFactory @@ -33,26 +29,6 @@ class UserProfileFactory(StudentUserProfileFactory): courseware = 'course.xml' -# For the following factories, these are disabled because we're ok ignoring the -# unused arguments create and **kwargs in the line: -# course_key(self, create, extracted, **kwargs) -# pylint: disable=unused-argument - -class OrgInstructorFactory(UserFactory): - """ - Given a course Location, returns a User object with org-instructor - permissions for `course`. - """ - last_name = "Org-Instructor" - - @factory.post_generation - def course_key(self, create, extracted, **kwargs): - if extracted is None: - raise ValueError("Must specify a CourseKey for an org-instructor user") - OrgInstructorRole(extracted.org).add_users(self) -# pylint: enable=unused-argument - - class StudentModuleFactory(DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring class Meta: model = StudentModule diff --git a/lms/djangoapps/courseware/tests/test_view_authentication.py b/lms/djangoapps/courseware/tests/test_view_authentication.py index d9af5cf60c..9fc337316c 100644 --- a/lms/djangoapps/courseware/tests/test_view_authentication.py +++ b/lms/djangoapps/courseware/tests/test_view_authentication.py @@ -12,12 +12,10 @@ from django.urls import reverse from common.djangoapps.student.tests.factories import BetaTesterFactory from common.djangoapps.student.tests.factories import GlobalStaffFactory from common.djangoapps.student.tests.factories import InstructorFactory +from common.djangoapps.student.tests.factories import OrgInstructorFactory from common.djangoapps.student.tests.factories import OrgStaffFactory from common.djangoapps.student.tests.factories import StaffFactory from lms.djangoapps.courseware.access import has_access -from lms.djangoapps.courseware.tests.factories import ( - OrgInstructorFactory, -) from lms.djangoapps.courseware.tests.helpers import CourseAccessTestMixin, LoginEnrollmentTestCase from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseTestConsentRequired from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory diff --git a/openedx/features/content_type_gating/tests/test_access.py b/openedx/features/content_type_gating/tests/test_access.py index 177899aae7..6d70b9ad75 100644 --- a/openedx/features/content_type_gating/tests/test_access.py +++ b/openedx/features/content_type_gating/tests/test_access.py @@ -19,12 +19,10 @@ from common.djangoapps.course_modes.tests.factories import CourseModeFactory from common.djangoapps.student.tests.factories import BetaTesterFactory from common.djangoapps.student.tests.factories import GlobalStaffFactory from common.djangoapps.student.tests.factories import InstructorFactory +from common.djangoapps.student.tests.factories import OrgInstructorFactory from common.djangoapps.student.tests.factories import OrgStaffFactory from common.djangoapps.student.tests.factories import StaffFactory from lms.djangoapps.courseware.module_render import load_single_xblock -from lms.djangoapps.courseware.tests.factories import ( - OrgInstructorFactory, -) from lms.djangoapps.courseware.tests.helpers import MasqueradeMixin from lms.djangoapps.discussion.django_comment_client.tests.factories import RoleFactory from openedx.core.djangoapps.django_comment_common.models import ( diff --git a/openedx/features/course_duration_limits/tests/test_course_expiration.py b/openedx/features/course_duration_limits/tests/test_course_expiration.py index 70c67acbcb..73b7f02358 100644 --- a/openedx/features/course_duration_limits/tests/test_course_expiration.py +++ b/openedx/features/course_duration_limits/tests/test_course_expiration.py @@ -17,11 +17,9 @@ from common.djangoapps.student.tests.factories import BetaTesterFactory from common.djangoapps.student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory from common.djangoapps.student.tests.factories import GlobalStaffFactory from common.djangoapps.student.tests.factories import InstructorFactory +from common.djangoapps.student.tests.factories import OrgInstructorFactory from common.djangoapps.student.tests.factories import OrgStaffFactory from common.djangoapps.student.tests.factories import StaffFactory -from lms.djangoapps.courseware.tests.factories import ( - OrgInstructorFactory, -) from lms.djangoapps.courseware.tests.helpers import MasqueradeMixin from lms.djangoapps.discussion.django_comment_client.tests.factories import RoleFactory from openedx.core.djangoapps.content.course_overviews.models import CourseOverview diff --git a/openedx/features/course_experience/tests/views/test_course_home.py b/openedx/features/course_experience/tests/views/test_course_home.py index 57593d5f5d..8b7d4d1381 100644 --- a/openedx/features/course_experience/tests/views/test_course_home.py +++ b/openedx/features/course_experience/tests/views/test_course_home.py @@ -24,6 +24,7 @@ from common.djangoapps.course_modes.tests.factories import CourseModeFactory from common.djangoapps.student.tests.factories import BetaTesterFactory from common.djangoapps.student.tests.factories import GlobalStaffFactory from common.djangoapps.student.tests.factories import InstructorFactory +from common.djangoapps.student.tests.factories import OrgInstructorFactory from common.djangoapps.student.tests.factories import OrgStaffFactory from common.djangoapps.student.tests.factories import StaffFactory from common.djangoapps.util.date_utils import strftime_localized_html @@ -31,9 +32,6 @@ from lms.djangoapps.experiments.models import ExperimentData from lms.djangoapps.commerce.models import CommerceConfiguration from lms.djangoapps.commerce.utils import EcommerceService from lms.djangoapps.course_goals.api import add_course_goal, remove_course_goal -from lms.djangoapps.courseware.tests.factories import ( - OrgInstructorFactory, -) from lms.djangoapps.courseware.tests.helpers import get_expiration_banner_text from lms.djangoapps.courseware.utils import verified_upgrade_deadline_link from lms.djangoapps.discussion.django_comment_client.tests.factories import RoleFactory