예제 #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,
                                              six.text_type(course.id),
                                              'honor', True))

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

        # by default in-active enrollment will be excluded.
        results = data.get_course_enrollments(self.user.username)
        assert 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)
        assert 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,
                six.text_type(course.id),
                'honor',
                True
            ))

        # deactivate one enrollment
        data.update_course_enrollment(
            self.user.username,
            six.text_type(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_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.create_course_enrollment(self.user.username,
                                              six.text_type(course.id),
                                              'honor', True))

        # Compare the created enrollments with the results
        # from the get enrollments request.
        results = data.get_course_enrollments(self.user.username)
        assert results == created_enrollments

        # Now create a course enrollment with some invalid course (does
        # not exist in database) for the user and check that the method
        # 'get_course_enrollments' ignores course enrollments for invalid
        # or deleted courses
        non_existent_course_id = 'InvalidOrg/InvalidCourse/InvalidRun'
        enrollement = CourseEnrollmentFactory.create(
            user=self.user,
            course_id=non_existent_course_id,
            mode='honor',
            is_active=True)
        enrollement.course.delete()

        updated_results = data.get_course_enrollments(self.user.username)
        assert results == updated_results
예제 #4
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.create_course_enrollment(
                self.user.username,
                six.text_type(course.id),
                'honor',
                True
            ))

        # 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)

        # Now create a course enrollment with some invalid course (does
        # not exist in database) for the user and check that the method
        # 'get_course_enrollments' ignores course enrollments for invalid
        # or deleted courses
        CourseEnrollment.objects.create(
            user=self.user,
            course_id='InvalidOrg/InvalidCourse/InvalidRun',
            mode='honor',
            is_active=True
        )
        updated_results = data.get_course_enrollments(self.user.username)
        self.assertEqual(results, updated_results)