def test_show_calibration_essay_after_failing_grader(self): # test there are no failed calibration submissions failed_calibration_submissions = Submission.objects.filter( location=LOCATION, grader__grader_type="IN", grader__status_code=GraderStatus.failure, ) self.assertFalse(failed_calibration_submissions.exists()) # Failing grader manually. update_grader_to_manually_fail(self.grader_id, dry_run=False) content = self.client.get( SHOW_CALIBRATION, data={'problem_id': LOCATION, "student_id": STUDENT_ID}, ) body = json.loads(content.content) # Should have succeeded. self.assertEqual(body["success"], True) calibration_submissions = Submission.objects.filter( location=LOCATION, grader__grader_type="IN", grader__status_code=GraderStatus.success, ) submission_ids = [submission.id for submission in calibration_submissions] # Submission id should not be in calibration submission ids. self.assertNotIn(self.submission_id, submission_ids)
def test_dry_run(self): update_grader_to_manually_fail(self.grader_id) # test there are no failed calibration submissions failed_calibration_submissions = Submission.objects.filter( location=LOCATION, grader__grader_type="IN", grader__status_code=GraderStatus.failure, ) self.assertFalse(failed_calibration_submissions.exists())
def test_bad_grader_id(self): bad_grader_id = -1 update_grader_to_manually_fail(bad_grader_id, dry_run=False) failed_calibration_submissions = Submission.objects.filter( location=LOCATION, grader__grader_type="IN", grader__status_code=GraderStatus.failure, ) # check that there are no failed calibration essays self.assertFalse(failed_calibration_submissions.exists())
def test_show_calibration_essay_after_failing_grader(self): # test there are no failed calibration submissions failed_calibration_submissions = Submission.objects.filter( location=LOCATION, grader__grader_type="IN", grader__status_code=GraderStatus.failure, ) self.assertFalse(failed_calibration_submissions.exists()) # Failing grader manually. update_grader_to_manually_fail(self.grader_id, dry_run=False) content = self.client.get( SHOW_CALIBRATION, data={ 'problem_id': LOCATION, "student_id": STUDENT_ID }, ) body = json.loads(content.content) # Should have succeeded. self.assertEqual(body["success"], True) calibration_submissions = Submission.objects.filter( location=LOCATION, grader__grader_type="IN", grader__status_code=GraderStatus.success, ) submission_ids = [ submission.id for submission in calibration_submissions ] # Submission id should not be in calibration submission ids. self.assertNotIn(self.submission_id, submission_ids)