def test_staff_upload_annotated_state(self): # pylint: disable=no-member """ Test state recorded in the module state when staff_upload_annotated is called """ block = self.make_one() fred = self.make_student(block, "fred1")['module'] with self.dummy_upload('testa.txt') as (upload, _): block.upload_assignment(mock.Mock(params={"assignment": upload})) block.finalize_uploaded_assignment(mock.Mock(method="POST")) with self.dummy_upload('testb.txt') as (upload, expected): request = mock.Mock(params={ 'annotated': upload, 'module_id': fred.id }) resp = block.staff_upload_annotated(request) assert resp.json == block.staff_grading_data() state = json.loads(block.get_student_module(fred.id).state) assert state['annotated_mimetype'] == 'text/plain' parsed_date = parse_timestamp(state['annotated_timestamp']) assert is_near_now(parsed_date) assert state['annotated_filename'].endswith('testb.txt') assert state['annotated_sha1'] == get_sha1(expected)