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))
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))
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))
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))
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)
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)
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'])
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)
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'])
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)
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)
def test_update_for_non_existent_user(self): data.update_course_enrollment("some_fake_user", unicode(self.course.id), is_active=False)
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)