def setUp(self): super(OrganizationExtensionAdminTests, self).setUp() self.user = UserFactory(is_staff=True, is_superuser=True) self.client.login(username=self.user.username, password=USER_PASSWORD) self.run_state = factories.CourseRunStateFactory() self.admin_page_url = reverse( 'admin:publisher_organizationextension_add')
def setUp(self): super(CourseRunMarkAsReviewedEmailTests, self).setUp() self.user = UserFactory() self.user_2 = UserFactory() self.user_3 = UserFactory() self.seat = factories.SeatFactory() self.course_run = self.seat.course_run self.course = self.course_run.course self.course.organizations.add(OrganizationFactory()) # add user in course-user-role table factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.CourseTeam, user=self.user_2) factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.Publisher, user=self.user_3) self.course_run_state = factories.CourseRunStateFactory( course_run=self.course_run) self.course_run.lms_course_id = 'course-v1:edX+DemoX+Demo_Course' self.course_run.save() toggle_switch('enable_publisher_email_notifications', True)
def test_short_description_override(self): """ Verify that the property returns the short_description. """ self.assertEqual(self.course.short_description, self.course.course_short_description) course_run = factories.CourseRunFactory(course=self.course) factories.CourseRunStateFactory(course_run=course_run, name=CourseRunStateChoices.Published) self.assertEqual(self.course.course_short_description, course_run.short_description_override)
def setUp(self): super(ChangeCourseRunStateViewTests, self).setUp() self.seat = factories.SeatFactory(type=Seat.VERIFIED, price=2) self.course_run = self.seat.course_run self.run_state = factories.CourseRunStateFactory(name=CourseRunStateChoices.Draft, course_run=self.course_run) self.course_state = factories.CourseStateFactory( name=CourseStateChoices.Approved, course=self.course_run.course ) self.user = UserFactory() self.user.groups.add(Group.objects.get(name=INTERNAL_USER_GROUP_NAME)) self.change_state_url = reverse('publisher:api:change_course_run_state', kwargs={'pk': self.run_state.id}) self.client.login(username=self.user.username, password=USER_PASSWORD) language_tag = LanguageTag(code='te-st', name='Test Language') language_tag.save() self.course_run.transcript_languages.add(language_tag) self.course_run.language = language_tag self.course_run.lms_course_id = 'course-v1:edX+DemoX+Demo_Course' self.course_run.course.organizations.add(OrganizationFactory()) self.course_run.save() self.course_run.staff.add(PersonFactory()) toggle_switch('enable_publisher_email_notifications', True)
def test_title_override(self): """ Verify that the property returns the title. """ self.assertEqual(self.course.title, self.course.course_title) course_run = factories.CourseRunFactory(course=self.course) factories.CourseRunStateFactory(course_run=course_run, name=CourseRunStateChoices.Published) self.assertEqual(self.course.course_title, course_run.title_override)
def _create_decline_comment(self): self.course_run.preview_url = self.url self.course_run.save() factories.CourseRunStateFactory( course_run=self.course_run, owner_role=PublisherUserRole.CourseTeam) return self.create_comment( content_object=self.course_run, comment_type=CommentTypeChoices.Decline_Preview)
def test_owner_role_is_publisher(self): """ Verify that owner_role_is_publisher returns true if owner is publisher and false otherwise """ course_run_state = factories.CourseRunStateFactory( course_run=self.course_run, owner_role=PublisherUserRole.Publisher) self.assertEqual(self.wrapped_course_run.owner_role_is_publisher, True) course_run_state.change_owner_role(PublisherUserRole.CourseTeam) self.assertEqual(self.wrapped_course_run.owner_role_is_publisher, False)
def setUp(self): super(AdminTests, self).setUp() self.user = UserFactory(is_staff=True, is_superuser=True) self.client.login(username=self.user.username, password=USER_PASSWORD) self.course_run = factories.CourseRunFactory(changed_by=self.user, lms_course_id='') self.run_state = factories.CourseRunStateFactory( course_run=self.course_run ) self.change_url = reverse('admin:publisher_courserun_add') self.form = self.client.get(self.change_url) self.assertFalse(CourseRun.objects.filter(lms_course_id__isnull=True).exists())
def setUp(self): super(CourseRunPublishedEmailTests, self).setUp() self.user = UserFactory() self.run_state = factories.CourseRunStateFactory() self.course_run = self.run_state.course_run self.course = self.course_run.course factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.CourseTeam, user=self.user) factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.Publisher, user=UserFactory())
def test_internal_user_status(self): """ Verify that internal_user_status returns right statuses. """ course_run_state = factories.CourseRunStateFactory( course_run=self.course_run, owner_role=PublisherUserRole.CourseTeam) assert self.wrapped_course_run.internal_user_status == 'N/A' self._change_state_and_owner(course_run_state) assert self.wrapped_course_run.internal_user_status == 'Awaiting Project Coordinator Review' course_run_state.change_owner_role(PublisherUserRole.CourseTeam) assert self.wrapped_course_run.internal_user_status == 'Approved by Project Coordinator'
def test_course_team_status(self): """ Verify that course_team_status returns right statuses. """ course_run_state = factories.CourseRunStateFactory( course_run=self.course_run, owner_role=PublisherUserRole.CourseTeam) assert self.wrapped_course_run.course_team_status == 'Draft' self._change_state_and_owner(course_run_state) assert self.wrapped_course_run.course_team_status == 'Submitted for Project Coordinator Review' course_run_state.change_owner_role(PublisherUserRole.CourseTeam) assert self.wrapped_course_run.course_team_status == 'Awaiting Course Team Review'
def _create_decline_comment(self): # First, establish a preview_url self.course_run.lms_course_id = 'course-v1:testX+testX2.0+testCourse' self.course_run.save() person = PersonFactory() DiscoveryCourseRunFactory(key=self.course_run.lms_course_id, staff=[person]) factories.CourseRunStateFactory( course_run=self.course_run, owner_role=PublisherUserRole.CourseTeam) return self.create_comment( content_object=self.course_run, comment_type=CommentTypeChoices.Decline_Preview)
def setUp(self): super(CourseRunPublishedEmailTests, self).setUp() self.user = UserFactory() self.run_state = factories.CourseRunStateFactory() self.course_run = self.run_state.course_run self.course = self.course_run.course factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.CourseTeam, user=self.user) factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.Publisher, user=UserFactory()) toggle_switch('enable_publisher_email_notifications', True)
def setUpClass(cls): super(CourseRunStateTests, cls).setUpClass() cls.seat = factories.SeatFactory(type=Seat.VERIFIED, price=100) cls.course_run_state = factories.CourseRunStateFactory( course_run=cls.seat.course_run, name=CourseRunStateChoices.Draft) cls.course_run = cls.course_run_state.course_run cls.course = cls.course_run.course cls.user = UserFactory() factories.CourseStateFactory(name=CourseStateChoices.Approved, course=cls.course) factories.CourseUserRoleFactory(course=cls.course_run.course, role=PublisherUserRole.CourseTeam, user=cls.user) factories.CourseUserRoleFactory( course=cls.course_run.course, role=PublisherUserRole.MarketingReviewer, user=UserFactory())
def setUp(self): super(CourseRunPreviewEmailTests, self).setUp() self.user = UserFactory() self.run_state = factories.CourseRunStateFactory() self.course = self.run_state.course_run.course # add users in CourseUserRole table factories.CourseUserRoleFactory( course=self.course, role=PublisherUserRole.CourseTeam, user=self.user ) factories.CourseUserRoleFactory( course=self.course, role=PublisherUserRole.Publisher, user=UserFactory() ) factories.CourseUserRoleFactory( course=self.course, role=PublisherUserRole.ProjectCoordinator, user=UserFactory() ) toggle_switch('enable_publisher_email_notifications', True)
def setUp(self): super(CourseRunPreviewEmailTests, self).setUp() self.user = UserFactory() self.run_state = factories.CourseRunStateFactory() self.course = self.run_state.course_run.course self.course.organizations.add(OrganizationFactory()) # add users in CourseUserRole table factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.CourseTeam, user=self.user) factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.Publisher, user=UserFactory()) factories.CourseUserRoleFactory( course=self.course, role=PublisherUserRole.ProjectCoordinator, user=UserFactory())
def setUp(self): super(CourseRunMarkAsReviewedEmailTests, self).setUp() self.user = UserFactory() self.user_2 = UserFactory() self.user_3 = UserFactory() self.seat = factories.SeatFactory() self.course_run = self.seat.course_run self.course = self.course_run.course # add user in course-user-role table factories.CourseUserRoleFactory( course=self.course, role=PublisherUserRole.CourseTeam, user=self.user_2 ) factories.CourseUserRoleFactory( course=self.course, role=PublisherUserRole.Publisher, user=self.user_3 ) self.course_run_state = factories.CourseRunStateFactory(course_run=self.course_run) toggle_switch('enable_publisher_email_notifications', True)
def test_course_image_url(self): """ Verify that the property returns the course image url. """ self.assertIsNone(self.course.course_image_url) # Create a published course-run with card_image_url. course_run = factories.CourseRunFactory(course=self.course) factories.CourseRunStateFactory(course_run=course_run, name=CourseRunStateChoices.Published) course_run.card_image_url = 'http://example.com/test.jpg' course_run.save() # Verify that property returns card_image_url of course-run. self.assertEqual(self.course.course_image_url, course_run.card_image_url) # Create a course image. self.course.image = make_image_file('test_banner1.jpg') self.course.save() # Verify that property returns course image field url. self.assertEqual(self.course.course_image_url, self.course.image.url)
def setUp(self): super(CourseRunSendForReviewEmailTests, self).setUp() self.user = UserFactory() self.user_2 = UserFactory() self.user_3 = UserFactory() self.seat = factories.SeatFactory() self.course_run = self.seat.course_run self.course = self.course_run.course self.course.organizations.add(OrganizationFactory()) # add user in course-user-role table factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.CourseTeam, user=self.user_2) factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.Publisher, user=self.user_3) self.course_run_state = factories.CourseRunStateFactory( course_run=self.course_run) self.course_run.lms_course_id = 'course-v1:edX+DemoX+Demo_Course' self.course_run.save() self.course_key = CourseKey.from_string(self.course_run.lms_course_id)