示例#1
0
 def test_sender_control_file_registers_multiple_students_in_same_assignment(
         self, tmp_path):
     """
     Does the LTIGradesSenderControlFile class registers students at same assignment level?
     """
     # arrange
     sender_controlfile = LTIGradesSenderControlFile(tmp_path)
     assignment_name = 'Assignment1'
     lis_outcome_service_url = 'https://example.instructure.com/api/lti/v1/tools/111/grade_passback'
     lms_user_id = 'user1'
     lis_result_sourcedid = 'uniqueIDToIdentifyUserWithinAssignment'
     # act
     sender_controlfile.register_data(assignment_name,
                                      lis_outcome_service_url, lms_user_id,
                                      lis_result_sourcedid)
     # add SECOND student
     sender_controlfile.register_data(assignment_name,
                                      lis_outcome_service_url, 'user2',
                                      lis_result_sourcedid)
     # assert
     saved = sender_controlfile.get_assignment_by_name(assignment_name)
     assert len(saved['students']) == 2
     # both students in test was saved with same lis_result_sourcedid value
     assert set([s['lms_user_id']
                 for s in saved['students']]) == {'user1', 'user2'}
示例#2
0
 def test_sender_control_file_registers_new_assignment(self, tmp_path):
     """
     Does the LTIGradesSenderControlFile class registers new assignment data correctly?
     """
     # arrange
     sender_controlfile = LTIGradesSenderControlFile(tmp_path)
     assignment_name = 'Assignment1'
     lis_outcome_service_url = 'https://example.instructure.com/api/lti/v1/tools/111/grade_passback'
     lms_user_id = 'user1'
     lis_result_sourcedid = 'uniqueIDToIdentifyUserWithinAssignment'
     # act
     sender_controlfile.register_data(assignment_name,
                                      lis_outcome_service_url, lms_user_id,
                                      lis_result_sourcedid)
     # assert
     saved = sender_controlfile.get_assignment_by_name(assignment_name)
     # item was saved
     assert saved is not None
     # url is the same that passed value
     assert saved['lis_outcome_service_url'] == lis_outcome_service_url
     # students property is a list
     assert type(saved['students']) == list
     # student was saved
     assert [
         s for s in saved['students'] if s['lms_user_id'] == lms_user_id
     ]