def get_enrollment(*args, **kwargs): """ Return enrollment of given user in the course provided. Example: >>>get_enrollment( { "username": "******", "course_id": "course-v1-edX-DemoX-1T2015" } ) """ errors = [] course_id = kwargs.pop('course_id', None) username = kwargs.get('username', None) try: LOG.info('Getting enrollment information of student: %s course: %s', username, course_id) enrollment = api.get_enrollment(username, course_id) if not enrollment: errors.append('No enrollment found for user:`{}`'.format(username)) return None, errors except InvalidKeyError: errors.append('No course found for course_id `{}`'.format(course_id)) return None, errors enrollment['enrollment_attributes'] = api.get_enrollment_attributes( username, course_id) enrollment['course_id'] = course_id return enrollment, errors
def test_update_enrollment_attributes(self): # Add fake course enrollment information to the fake data API fake_data_api.add_course( self.COURSE_ID, course_modes=['honor', 'verified', 'audit', 'credit']) # Enroll in the course and verify the URL we get sent to result = api.add_enrollment(self.USERNAME, self.COURSE_ID, mode='audit') get_result = api.get_enrollment(self.USERNAME, self.COURSE_ID) self.assertEquals(result, get_result) enrollment_attributes = [{ "namespace": "credit", "name": "provider_id", "value": "hogwarts", }] result = api.update_enrollment( self.USERNAME, self.COURSE_ID, mode='credit', enrollment_attributes=enrollment_attributes) self.assertEquals('credit', result['mode']) attributes = api.get_enrollment_attributes(self.USERNAME, self.COURSE_ID) self.assertEquals(enrollment_attributes[0], attributes[0])
def test_update_enrollment_attributes(self): # Add fake course enrollment information to the fake data API fake_data_api.add_course(self.COURSE_ID, course_modes=['honor', 'verified', 'audit', 'credit']) # Enroll in the course and verify the URL we get sent to result = api.add_enrollment(self.USERNAME, self.COURSE_ID, mode='audit') get_result = api.get_enrollment(self.USERNAME, self.COURSE_ID) self.assertEquals(result, get_result) enrollment_attributes = [ { "namespace": "credit", "name": "provider_id", "value": "hogwarts", } ] result = api.update_enrollment( self.USERNAME, self.COURSE_ID, mode='credit', enrollment_attributes=enrollment_attributes ) self.assertEquals('credit', result['mode']) attributes = api.get_enrollment_attributes(self.USERNAME, self.COURSE_ID) self.assertEquals(enrollment_attributes[0], attributes[0])