示例#1
0
    def test_get_enrollments_including_inactive(self):
        """ Verify that if 'include_inactive' is True, all enrollments
        are returned including inactive.
        """
        course_modes, course_numbers = ['honor', 'verified', 'audit'], ['1', '2', '3']
        created_courses = []
        for course_number in course_numbers:
            created_courses.append(CourseFactory.create(number=course_number))

        created_enrollments = []
        for course in created_courses:
            self._create_course_modes(course_modes, course=course)
            # Create the original enrollment.
            created_enrollments.append(data.create_course_enrollment(
                self.user.username,
                unicode(course.id),
                'honor',
                True
            ))

        # deactivate one enrollment
        data.update_course_enrollment(
            self.user.username,
            unicode(created_courses[0].id),
            'honor',
            False
        )

        # by default in-active enrollment will be excluded.
        results = data.get_course_enrollments(self.user.username)
        self.assertNotEqual(len(results), len(created_enrollments))

        # we can get all enrollments including inactive by passing "include_inactive"
        results = data.get_course_enrollments(self.user.username, include_inactive=True)
        self.assertEqual(len(results), len(created_enrollments))
示例#2
0
    def test_get_enrollments_including_inactive(self):
        """ Verify that if 'include_inactive' is True, all enrollments
        are returned including inactive.
        """
        course_modes, course_numbers = ['honor', 'verified',
                                        'audit'], ['1', '2', '3']
        created_courses = []
        for course_number in course_numbers:
            created_courses.append(CourseFactory.create(number=course_number))

        created_enrollments = []
        for course in created_courses:
            self._create_course_modes(course_modes, course=course)
            # Create the original enrollment.
            created_enrollments.append(
                data.create_course_enrollment(self.user.username,
                                              unicode(course.id), 'honor',
                                              True))

        # deactivate one enrollment
        data.update_course_enrollment(self.user.username,
                                      unicode(created_courses[0].id), 'honor',
                                      False)

        # by default in-active enrollment will be excluded.
        results = data.get_course_enrollments(self.user.username)
        self.assertNotEqual(len(results), len(created_enrollments))

        # we can get all enrollments including inactive by passing "include_inactive"
        results = data.get_course_enrollments(self.user.username,
                                              include_inactive=True)
        self.assertEqual(len(results), len(created_enrollments))
示例#3
0
    def test_unenroll(self):
        # Enroll the user in the course
        CourseEnrollment.enroll(self.user, self.course.id, mode="honor")

        enrollment = data.update_course_enrollment(self.user.username, unicode(self.course.id), is_active=False)

        # Determine that the returned enrollment is inactive.
        self.assertFalse(enrollment["is_active"])

        # Expect that we're no longer enrolled
        self.assertFalse(CourseEnrollment.is_enrolled(self.user, self.course.id))
示例#4
0
    def test_unenroll(self):
        # Enroll the user in the course
        CourseEnrollment.enroll(self.user, self.course.id, mode="honor")

        enrollment = data.update_course_enrollment(self.user.username,
                                                   unicode(self.course.id),
                                                   is_active=False)

        # Determine that the returned enrollment is inactive.
        self.assertFalse(enrollment['is_active'])

        # Expect that we're no longer enrolled
        self.assertFalse(
            CourseEnrollment.is_enrolled(self.user, self.course.id))
示例#5
0
    def test_get_course_enrollment(self, course_modes, enrollment_mode):
        self._create_course_modes(course_modes)

        # Try to get an enrollment before it exists.
        result = data.get_course_enrollment(self.user.username, unicode(self.course.id))
        self.assertIsNone(result)

        # Create the original enrollment.
        enrollment = data.update_course_enrollment(
            self.user.username,
            unicode(self.course.id),
            mode=enrollment_mode,
            is_active=True
        )
        # Get the enrollment and compare it to the original.
        result = data.get_course_enrollment(self.user.username, unicode(self.course.id))
        self.assertEqual(self.user.username, result['student'])
        self.assertEqual(enrollment, result)
示例#6
0
    def test_get_course_enrollment(self, course_modes, enrollment_mode):
        self._create_course_modes(course_modes)

        # Try to get an enrollment before it exists.
        result = data.get_course_enrollment(self.user.username,
                                            unicode(self.course.id))
        self.assertIsNone(result)

        # Create the original enrollment.
        enrollment = data.update_course_enrollment(self.user.username,
                                                   unicode(self.course.id),
                                                   mode=enrollment_mode,
                                                   is_active=True)
        # Get the enrollment and compare it to the original.
        result = data.get_course_enrollment(self.user.username,
                                            unicode(self.course.id))
        self.assertEqual(self.user.username, result['student'])
        self.assertEqual(enrollment, result)
示例#7
0
    def test_enroll(self, course_modes, enrollment_mode):
        # Create the course modes (if any) required for this test case
        self._create_course_modes(course_modes)

        enrollment = data.update_course_enrollment(
            self.user.username,
            unicode(self.course.id),
            mode=enrollment_mode,
            is_active=True
        )

        self.assertTrue(CourseEnrollment.is_enrolled(self.user, self.course.id))
        course_mode, is_active = CourseEnrollment.enrollment_mode_for_user(self.user, self.course.id)
        self.assertTrue(is_active)
        self.assertEqual(course_mode, enrollment_mode)

        # Confirm the returned enrollment and the data match up.
        self.assertEqual(course_mode, enrollment['mode'])
        self.assertEqual(is_active, enrollment['is_active'])
示例#8
0
    def test_get_course_enrollments(self, course_modes, course_numbers):
        # Create all the courses
        created_courses = []
        for course_number in course_numbers:
            created_courses.append(CourseFactory.create(number=course_number))

        created_enrollments = []
        for course in created_courses:
            self._create_course_modes(course_modes, course=course)
            # Create the original enrollment.
            created_enrollments.append(data.update_course_enrollment(
                self.user.username,
                unicode(course.id),
            ))

        # Compare the created enrollments with the results
        # from the get enrollments request.
        results = data.get_course_enrollments(self.user.username)
        self.assertEqual(results, created_enrollments)
示例#9
0
    def test_enroll(self, course_modes, enrollment_mode):
        # Create the course modes (if any) required for this test case
        self._create_course_modes(course_modes)

        enrollment = data.update_course_enrollment(self.user.username,
                                                   unicode(self.course.id),
                                                   mode=enrollment_mode,
                                                   is_active=True)

        self.assertTrue(CourseEnrollment.is_enrolled(self.user,
                                                     self.course.id))
        course_mode, is_active = CourseEnrollment.enrollment_mode_for_user(
            self.user, self.course.id)
        self.assertTrue(is_active)
        self.assertEqual(course_mode, enrollment_mode)

        # Confirm the returned enrollment and the data match up.
        self.assertEqual(course_mode, enrollment['mode'])
        self.assertEqual(is_active, enrollment['is_active'])
示例#10
0
    def test_get_course_enrollments(self, course_modes, course_numbers):
        # Create all the courses
        created_courses = []
        for course_number in course_numbers:
            created_courses.append(CourseFactory.create(number=course_number))

        created_enrollments = []
        for course in created_courses:
            self._create_course_modes(course_modes, course=course)
            # Create the original enrollment.
            created_enrollments.append(
                data.update_course_enrollment(
                    self.user.username,
                    unicode(course.id),
                ))

        # Compare the created enrollments with the results
        # from the get enrollments request.
        results = data.get_course_enrollments(self.user.username)
        self.assertEqual(results, created_enrollments)
示例#11
0
 def test_update_for_non_existent_course(self):
     enrollment = data.update_course_enrollment(self.user.username,
                                                "some/fake/course",
                                                is_active=False)
     self.assertIsNone(enrollment)
示例#12
0
 def test_update_for_non_existent_user(self):
     data.update_course_enrollment("some_fake_user",
                                   unicode(self.course.id),
                                   is_active=False)
示例#13
0
 def test_update_for_non_existent_course(self):
     enrollment = data.update_course_enrollment(self.user.username, "some/fake/course", is_active=False)
     self.assertIsNone(enrollment)
示例#14
0
 def test_update_for_non_existent_user(self):
     data.update_course_enrollment("some_fake_user", unicode(self.course.id), is_active=False)
示例#15
0
 def test_update_for_non_existent_user(self):
     with pytest.raises(UserNotFoundError):
         data.update_course_enrollment("some_fake_user", unicode(self.course.id), is_active=False)
示例#16
0
 def test_update_for_non_existent_user(self):
     with pytest.raises(UserNotFoundError):
         data.update_course_enrollment("some_fake_user",
                                       unicode(self.course.id),
                                       is_active=False)