def test_set_assessment_feedback_error_on_huge_save(self, mock_filter): tim_answer, _ = self._create_student_and_submission("Tim", "Tim's answer", MONDAY) peer_api.set_assessment_feedback( { 'submission_uuid': tim_answer['uuid'], 'feedback_text': 'Boo'*AssessmentFeedback.MAXSIZE, } )
def test_set_assessment_feedback_error_on_save(self, mock_filter): mock_filter.side_effect = DatabaseError("Oh no.") tim_answer, _ = self._create_student_and_submission("Tim", "Tim's answer", MONDAY) peer_api.set_assessment_feedback( { 'submission_uuid': tim_answer['uuid'], 'feedback_text': 'Boo', } )
def test_create_feedback_on_an_assessment(self): tim_sub, tim = self._create_student_and_submission("Tim", "Tim's answer") bob_sub, bob = self._create_student_and_submission("Bob", "Bob's answer") peer_api.get_submission_to_assess(bob_sub['uuid'], 1) assessment = peer_api.create_assessment( bob_sub["uuid"], bob["student_id"], ASSESSMENT_DICT['options_selected'], ASSESSMENT_DICT['criterion_feedback'], ASSESSMENT_DICT['overall_feedback'], RUBRIC_DICT, REQUIRED_GRADED_BY, ) peer_api.get_submission_to_assess(tim_sub['uuid'], 1) peer_api.create_assessment( tim_sub["uuid"], tim["student_id"], ASSESSMENT_DICT['options_selected'], ASSESSMENT_DICT['criterion_feedback'], ASSESSMENT_DICT['overall_feedback'], RUBRIC_DICT, REQUIRED_GRADED_BY, ) peer_api.get_score( tim_sub["uuid"], { 'must_grade': 1, 'must_be_graded_by': 1 } ) feedback = peer_api.get_assessment_feedback(tim_sub['uuid']) self.assertIsNone(feedback) peer_api.set_assessment_feedback( { 'submission_uuid': tim_sub['uuid'], 'feedback_text': 'Bob is a jerk!', 'options': [ 'I disliked this assessment', 'I felt this assessment was unfair', ] } ) saved_feedback = peer_api.get_assessment_feedback(tim_sub['uuid']) self.assertIsNot(saved_feedback, None) self.assertEquals(saved_feedback['submission_uuid'], assessment['submission_uuid']) self.assertEquals(saved_feedback['feedback_text'], 'Bob is a jerk!') self.assertItemsEqual(saved_feedback['options'], [ {'text': 'I disliked this assessment'}, {'text': 'I felt this assessment was unfair'}, ]) self.assertEquals(saved_feedback["assessments"][0]["submission_uuid"], assessment["submission_uuid"])
def submit_feedback(self, data, suffix=''): """ Submit feedback on an assessment. Args: data (dict): Can provide keys 'feedback_text' (unicode) and 'feedback_options' (list of unicode). Kwargs: suffix (str): Unused Returns: Dict with keys 'success' (bool) and 'msg' (unicode) """ feedback_text = data.get('feedback_text', u'') feedback_options = data.get('feedback_options', list()) try: peer_api.set_assessment_feedback({ 'submission_uuid': self.submission_uuid, 'feedback_text': feedback_text, 'options': feedback_options, }) except (peer_api.PeerAssessmentInternalError, peer_api.PeerAssessmentRequestError): return { 'success': False, 'msg': _(u"Assessment feedback could not be saved.") } else: self.runtime.publish( self, "openassessmentblock.submit_feedback_on_assessments", { 'submission_uuid': self.submission_uuid, 'feedback_text': feedback_text, 'options': feedback_options, }) return {'success': True, 'msg': _(u"Feedback saved.")}
def submit_feedback(self, data, suffix=''): """ Submit feedback on an assessment. Args: data (dict): Can provide keys 'feedback_text' (unicode) and 'feedback_options' (list of unicode). Kwargs: suffix (str): Unused Returns: Dict with keys 'success' (bool) and 'msg' (unicode) """ feedback_text = data.get('feedback_text', u'') feedback_options = data.get('feedback_options', list()) try: peer_api.set_assessment_feedback({ 'submission_uuid': self.submission_uuid, 'feedback_text': feedback_text, 'options': feedback_options, }) except (peer_api.PeerAssessmentInternalError, peer_api.PeerAssessmentRequestError): return {'success': False, 'msg': _(u"Assessment feedback could not be saved.")} else: self.runtime.publish( self, "openassessmentblock.submit_feedback_on_assessments", { 'submission_uuid': self.submission_uuid, 'feedback_text': feedback_text, 'options': feedback_options, } ) return {'success': True, 'msg': _(u"Feedback saved.")}