Пример #1
0
 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')
Пример #2
0
    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)
Пример #4
0
    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)
Пример #6
0
 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)
Пример #7
0
    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)
Пример #8
0
    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())
Пример #9
0
    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())
Пример #10
0
    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'
Пример #11
0
    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'
Пример #12
0
    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)
Пример #13
0
    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)
Пример #14
0
    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())
Пример #15
0
    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)
Пример #16
0
    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())
Пример #17
0
    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)
Пример #18
0
    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)
Пример #19
0
    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)