From ffcfc05a61bf0397de4b77179f1fd1ba960e8b2f Mon Sep 17 00:00:00 2001 From: stvn Date: Tue, 13 Apr 2021 19:35:02 -0700 Subject: [PATCH] refactor: Move BetaTesterFactory helper to common/ --- common/djangoapps/student/tests/factories.py | 15 +++++++++++++++ .../transformers/tests/test_start_date.py | 2 +- lms/djangoapps/courseware/tests/factories.py | 15 --------------- lms/djangoapps/courseware/tests/test_access.py | 4 +--- .../courseware/tests/test_self_paced_overrides.py | 2 +- .../courseware/tests/test_view_authentication.py | 2 +- .../discussion/rest_api/tests/test_api.py | 2 +- lms/djangoapps/instructor/tests/test_api.py | 4 +--- .../learning_sequences/api/tests/test_outlines.py | 2 +- .../content_type_gating/tests/test_access.py | 2 +- .../tests/test_course_expiration.py | 2 +- .../tests/views/test_course_home.py | 2 +- 12 files changed, 25 insertions(+), 29 deletions(-) diff --git a/common/djangoapps/student/tests/factories.py b/common/djangoapps/student/tests/factories.py index 01fb1c74f8..b2da6a91bc 100644 --- a/common/djangoapps/student/tests/factories.py +++ b/common/djangoapps/student/tests/factories.py @@ -26,6 +26,7 @@ from common.djangoapps.student.models import ( UserStanding ) 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 @@ -232,6 +233,20 @@ class AccountRecoveryFactory(DjangoModelFactory): # lint-amnesty, pylint: disab # pylint: disable=unused-argument +class BetaTesterFactory(UserFactory): + """ + Given a course Location, returns a User object with beta-tester + permissions for `course`. + """ + last_name = 'Beta-Tester' + + @factory.post_generation + def course_key(self, _create, extracted, **kwargs): + if extracted is None: + raise ValueError('Must specify a CourseKey for a beta-tester user') + CourseBetaTesterRole(extracted).add_users(self) + + class GlobalStaffFactory(UserFactory): """ Returns a User object with global staff access diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_start_date.py b/lms/djangoapps/course_blocks/transformers/tests/test_start_date.py index 232e362894..bb4b6cb6aa 100644 --- a/lms/djangoapps/course_blocks/transformers/tests/test_start_date.py +++ b/lms/djangoapps/course_blocks/transformers/tests/test_start_date.py @@ -9,7 +9,7 @@ from unittest.mock import patch import ddt from django.utils.timezone import now -from lms.djangoapps.courseware.tests.factories import BetaTesterFactory +from common.djangoapps.student.tests.factories import BetaTesterFactory from ..start_date import DEFAULT_START_DATE, StartDateTransformer from .helpers import BlockParentsMapTestCase, update_block diff --git a/lms/djangoapps/courseware/tests/factories.py b/lms/djangoapps/courseware/tests/factories.py index c9dd4b5d1f..ab71238887 100644 --- a/lms/djangoapps/courseware/tests/factories.py +++ b/lms/djangoapps/courseware/tests/factories.py @@ -17,7 +17,6 @@ from lms.djangoapps.courseware.models import ( XModuleUserStateSummaryField ) from common.djangoapps.student.roles import ( - CourseBetaTesterRole, OrgInstructorRole, OrgStaffRole ) @@ -40,20 +39,6 @@ class UserProfileFactory(StudentUserProfileFactory): # course_key(self, create, extracted, **kwargs) # pylint: disable=unused-argument -class BetaTesterFactory(UserFactory): - """ - Given a course Location, returns a User object with beta-tester - permissions for `course`. - """ - last_name = "Beta-Tester" - - @factory.post_generation - def course_key(self, create, extracted, **kwargs): - if extracted is None: - raise ValueError("Must specify a CourseKey for a beta-tester user") - CourseBetaTesterRole(extracted).add_users(self) - - class OrgStaffFactory(UserFactory): """ Given a course Location, returns a User object with org-staff diff --git a/lms/djangoapps/courseware/tests/test_access.py b/lms/djangoapps/courseware/tests/test_access.py index 46278f5e7a..c00e224a87 100644 --- a/lms/djangoapps/courseware/tests/test_access.py +++ b/lms/djangoapps/courseware/tests/test_access.py @@ -22,9 +22,6 @@ from opaque_keys.edx.locator import CourseLocator import lms.djangoapps.courseware.access as access import lms.djangoapps.courseware.access_response as access_response from lms.djangoapps.courseware.masquerade import CourseMasquerade -from lms.djangoapps.courseware.tests.factories import ( - BetaTesterFactory, -) from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase, masquerade_as_group_member from lms.djangoapps.ccx.models import CustomCourseForEdX from openedx.core.djangoapps.content.course_overviews.models import CourseOverview @@ -38,6 +35,7 @@ from common.djangoapps.student.tests.factories import ( CourseEnrollmentAllowedFactory, CourseEnrollmentFactory ) +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 StaffFactory diff --git a/lms/djangoapps/courseware/tests/test_self_paced_overrides.py b/lms/djangoapps/courseware/tests/test_self_paced_overrides.py index a30ae41daa..89a8eb9044 100644 --- a/lms/djangoapps/courseware/tests/test_self_paced_overrides.py +++ b/lms/djangoapps/courseware/tests/test_self_paced_overrides.py @@ -6,8 +6,8 @@ from unittest.mock import patch import pytz from django.test.utils import override_settings +from common.djangoapps.student.tests.factories import BetaTesterFactory from lms.djangoapps.courseware.access import has_access -from lms.djangoapps.courseware.tests.factories import BetaTesterFactory from lms.djangoapps.ccx.tests.test_overrides import inject_field_overrides from lms.djangoapps.courseware.field_overrides import OverrideFieldData, OverrideModulestoreFieldData from lms.djangoapps.discussion.django_comment_client.utils import get_accessible_discussion_xblocks diff --git a/lms/djangoapps/courseware/tests/test_view_authentication.py b/lms/djangoapps/courseware/tests/test_view_authentication.py index cae8cd225e..3fd16c4fdd 100644 --- a/lms/djangoapps/courseware/tests/test_view_authentication.py +++ b/lms/djangoapps/courseware/tests/test_view_authentication.py @@ -9,12 +9,12 @@ from unittest.mock import patch import pytz 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 StaffFactory from lms.djangoapps.courseware.access import has_access from lms.djangoapps.courseware.tests.factories import ( - BetaTesterFactory, OrgInstructorFactory, OrgStaffFactory, ) diff --git a/lms/djangoapps/discussion/rest_api/tests/test_api.py b/lms/djangoapps/discussion/rest_api/tests/test_api.py index 35b2b75fcc..9ff777702c 100644 --- a/lms/djangoapps/discussion/rest_api/tests/test_api.py +++ b/lms/djangoapps/discussion/rest_api/tests/test_api.py @@ -17,11 +17,11 @@ from pytz import UTC from rest_framework.exceptions import PermissionDenied from six.moves.urllib.parse import parse_qs, urlencode, urlparse, urlunparse +from common.djangoapps.student.tests.factories import BetaTesterFactory from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory from common.djangoapps.student.tests.factories import StaffFactory from common.djangoapps.util.testing import UrlResetMixin from common.test.utils import MockSignalHandlerMixin, disable_signal -from lms.djangoapps.courseware.tests.factories import BetaTesterFactory from lms.djangoapps.discussion.django_comment_client.tests.utils import ForumsEnableMixin from lms.djangoapps.discussion.rest_api import api from lms.djangoapps.discussion.rest_api.api import ( diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py index 0594877ac2..4aabae7946 100644 --- a/lms/djangoapps/instructor/tests/test_api.py +++ b/lms/djangoapps/instructor/tests/test_api.py @@ -52,6 +52,7 @@ from common.djangoapps.student.roles import ( CourseFinanceAdminRole, CourseInstructorRole, ) +from common.djangoapps.student.tests.factories import BetaTesterFactory from common.djangoapps.student.tests.factories import CourseEnrollmentFactory from common.djangoapps.student.tests.factories import GlobalStaffFactory from common.djangoapps.student.tests.factories import InstructorFactory @@ -64,9 +65,6 @@ from lms.djangoapps.certificates.tests.factories import ( GeneratedCertificateFactory ) from lms.djangoapps.courseware.models import StudentModule -from lms.djangoapps.courseware.tests.factories import ( - BetaTesterFactory, -) from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from lms.djangoapps.instructor.tests.utils import FakeContentTask, FakeEmail, FakeEmailInfo from lms.djangoapps.instructor.views.api import ( diff --git a/openedx/core/djangoapps/content/learning_sequences/api/tests/test_outlines.py b/openedx/core/djangoapps/content/learning_sequences/api/tests/test_outlines.py index 146313a6f1..d230f70d8b 100644 --- a/openedx/core/djangoapps/content/learning_sequences/api/tests/test_outlines.py +++ b/openedx/core/djangoapps/content/learning_sequences/api/tests/test_outlines.py @@ -16,11 +16,11 @@ from mock import patch from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.locator import LibraryLocator from edx_toggles.toggles.testutils import override_waffle_flag -from lms.djangoapps.courseware.tests.factories import BetaTesterFactory from openedx.core.djangolib.testing.utils import CacheIsolationTestCase from openedx.features.course_experience import COURSE_ENABLE_UNENROLLED_ACCESS_FLAG from common.djangoapps.student.auth import user_has_role from common.djangoapps.student.roles import CourseBetaTesterRole +from common.djangoapps.student.tests.factories import BetaTesterFactory from ...data import ( ContentErrorData, diff --git a/openedx/features/content_type_gating/tests/test_access.py b/openedx/features/content_type_gating/tests/test_access.py index c76a7a8298..96d69625e7 100644 --- a/openedx/features/content_type_gating/tests/test_access.py +++ b/openedx/features/content_type_gating/tests/test_access.py @@ -16,12 +16,12 @@ from pyquery import PyQuery as pq from lms.djangoapps.course_api.blocks.api import get_blocks 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 StaffFactory from lms.djangoapps.courseware.module_render import load_single_xblock from lms.djangoapps.courseware.tests.factories import ( - BetaTesterFactory, OrgInstructorFactory, OrgStaffFactory, ) 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 b986bce3b5..4a78d167d0 100644 --- a/openedx/features/course_duration_limits/tests/test_course_expiration.py +++ b/openedx/features/course_duration_limits/tests/test_course_expiration.py @@ -13,12 +13,12 @@ from django.utils.timezone import now from common.djangoapps.course_modes.models import CourseMode from common.djangoapps.student.models import CourseEnrollment, FBEEnrollmentExclusion from common.djangoapps.student.roles import CourseInstructorRole +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 StaffFactory from lms.djangoapps.courseware.tests.factories import ( - BetaTesterFactory, OrgInstructorFactory, OrgStaffFactory, ) 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 b2003ba7de..4d13de92ed 100644 --- a/openedx/features/course_experience/tests/views/test_course_home.py +++ b/openedx/features/course_experience/tests/views/test_course_home.py @@ -21,6 +21,7 @@ from waffle.testutils import override_flag from common.djangoapps.course_modes.models import CourseMode 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 StaffFactory @@ -30,7 +31,6 @@ 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 ( - BetaTesterFactory, OrgInstructorFactory, OrgStaffFactory, )