コード例 #1
0
    def setUp(self):
        super(CourseTests, self).setUp()
        self.course = factories.CourseFactory()
        self.course2 = factories.CourseFactory()

        self.user1 = UserFactory()
        self.user2 = UserFactory()
        self.user3 = UserFactory()
        self.group_a = factories.GroupFactory()
        self.group_b = factories.GroupFactory()
        self.user1.groups.add(self.group_a)
        self.user2.groups.add(self.group_b)
コード例 #2
0
    def setUpClass(cls):
        super(StateChangeEmailTests, cls).setUpClass()
        cls.user = UserFactory()
        cls.user_2 = UserFactory()
        cls.user_3 = UserFactory()

        cls.site = Site.objects.get(pk=settings.SITE_ID)

        cls.group = factories.GroupFactory()
        cls.user.groups.add(cls.group)
        cls.user_2.groups.add(cls.group)
        cls.user_3.groups.add(cls.group)

        cls.seat = factories.SeatFactory()
        cls.course_run = cls.seat.course_run
        cls.course = cls.course_run.course

        assign_perm(Course.VIEW_PERMISSION, cls.group, cls.course)

        # NOTE: We intentionally do NOT create an attribute for user_2.
        # By default this user WILL receive email notifications.

        UserAttributeFactory(user=cls.user, enable_email_notification=True)
        UserAttributeFactory(user=cls.user_3, enable_email_notification=False)

        toggle_switch('enable_publisher_email_notifications', True)
コード例 #3
0
 def test_is_publisher_user(self):
     """
     Verify the function returns a boolean indicating if the user is part of any publisher app group.
     """
     assert not is_publisher_user(self.user)
     self.user.groups.add(factories.GroupFactory())
     assert is_publisher_user(self.user)
コード例 #4
0
    def setUp(self):
        super(CommentsEmailTests, self).setUp()

        self.user = UserFactory()
        self.user_2 = UserFactory()
        self.user_3 = UserFactory()

        self.site = Site.objects.get(pk=settings.SITE_ID)

        self.group = factories.GroupFactory(name='abc')

        self.user.groups.add(self.group)
        self.user_2.groups.add(self.group)
        self.user_3.groups.add(self.group)

        self.seat = factories.SeatFactory()
        self.course_run = self.seat.course_run
        self.course = self.course_run.course

        assign_perm(Course.VIEW_PERMISSION, self.group, self.course)

        # NOTE: We intentionally do NOT create an attribute for user_2.
        # By default this user WILL receive email notifications.

        UserAttributeFactory(user=self.user, enable_email_notification=True)
        UserAttributeFactory(user=self.user_3, enable_email_notification=False)
        toggle_switch('enable_publisher_email_notifications', True)
コード例 #5
0
ファイル: utils.py プロジェクト: guoyu07/course-discovery
def create_non_staff_user_and_login(test_class):
    """ Create non staff user and login and return user and group. """
    non_staff_user = UserFactory()
    group = factories.GroupFactory()

    test_class.client.logout()
    test_class.client.login(username=non_staff_user.username, password=USER_PASSWORD)

    return non_staff_user, group
コード例 #6
0
    def setUp(self):
        super(StudioInstanceCreatedEmailTests, self).setUp()
        self.user = UserFactory()

        self.group = factories.GroupFactory()
        self.user.groups.add(self.group)

        self.course_run = factories.CourseRunFactory()

        assign_perm(Course.VIEW_PERMISSION, self.group, self.course_run.course)

        UserAttributeFactory(user=self.user, enable_email_notification=True)

        toggle_switch('enable_publisher_email_notifications', True)
コード例 #7
0
    def setUp(self):
        super(CommentsTests, self).setUp()
        self.user = UserFactory(is_staff=True, is_superuser=True)
        self.group = factories.GroupFactory()
        self.user.groups.add(self.group)

        self.client.login(username=self.user.username, password=USER_PASSWORD)
        self.site = Site.objects.get(pk=settings.SITE_ID)
        self.course_edit_page = 'publisher:publisher_courses_edit'
        self.course_run_edit_page = 'publisher:publisher_course_runs_edit'
        self.seat_edit_page = 'publisher:publisher_seats_edit'
        self.edit_comment_page = 'publisher_comments:comment_edit'

        self.seat = factories.SeatFactory(type=Seat.PROFESSIONAL, credit_hours=0)
        self.course_run = self.seat.course_run
        self.course = self.course_run.course

        self.course.assign_permission_by_group(self.group)
        toggle_switch('enable_publisher_email_notifications', True)
コード例 #8
0
    def test_organization_extension_permission(self):
        """
        Verify that required permissions assigned to OrganizationExtension object.
        """
        test_organization = OrganizationFactory()
        test_group = factories.GroupFactory()
        post_data = {
            'organization': test_organization.id,
            'group': test_group.id
        }
        self.client.post(self.admin_page_url, data=post_data)

        organization_extension = OrganizationExtension.objects.get(
            organization=test_organization, group=test_group)

        course_team_permissions = [
            OrganizationExtension.VIEW_COURSE,
            OrganizationExtension.EDIT_COURSE,
            OrganizationExtension.VIEW_COURSE_RUN,
            OrganizationExtension.EDIT_COURSE_RUN
        ]
        self._assert_permissions(organization_extension, test_group,
                                 course_team_permissions)

        marketing_permissions = [
            OrganizationExtension.VIEW_COURSE,
            OrganizationExtension.EDIT_COURSE,
            OrganizationExtension.VIEW_COURSE_RUN
        ]
        self._assert_permissions(organization_extension,
                                 Group.objects.get(name=REVIEWER_GROUP_NAME),
                                 marketing_permissions)

        pc_permissions = [
            OrganizationExtension.VIEW_COURSE,
            OrganizationExtension.EDIT_COURSE_RUN,
            OrganizationExtension.VIEW_COURSE_RUN
        ]
        self._assert_permissions(
            organization_extension,
            Group.objects.get(name=PROJECT_COORDINATOR_GROUP_NAME),
            pc_permissions)
コード例 #9
0
 def setUp(self):
     super(GroupOrganizationTests, self).setUp()
     self.organization_extension = factories.OrganizationExtensionFactory()
     self.group_2 = factories.GroupFactory()