def test_save_form_update(self): """Test updating an existing judgement.""" criteria = Phase.objects.get().judgement_criteria.all() # Quick sanity check assert len(criteria) == 3 judge_profile = User.objects.get(username='******').get_profile() submission = Submission.objects.get() judgement = Judgement.objects.create(submission=submission, judge=judge_profile, notes='Old notes') for criterion in criteria: JudgingAnswer.objects.create(judgement=judgement, criterion=criterion, rating=1) criteria_keys = ['criterion_%s' % c.pk for c in criteria] data = {'notes': 'Blah', criteria_keys[0]: 3, criteria_keys[1]: 5, criteria_keys[2]: 7} form = JudgingForm(data, criteria=criteria, instance=judgement) assert form.is_valid() form.save() assert_equal(list(judgement.answers.values_list('rating', flat=True)), [3, 5, 7])
def test_save_without_criteria(self): """Test saving a new judgement with an empty list of criteria.""" judge_profile = User.objects.get(username="******").get_profile() submission = Submission.objects.get() new_judgement = Judgement(judge=judge_profile, submission=submission) form = JudgingForm({"notes": "Blah"}, criteria=[], instance=new_judgement) assert form.is_valid() judgement = form.save() assert judgement is new_judgement assert_equal(Judgement.objects.count(), 1) assert_equal(Judgement.objects.get().notes, "Blah") assert_equal(JudgingAnswer.objects.count(), 0)
def test_save_without_criteria(self): """Test saving a new judgement with an empty list of criteria.""" judge_profile = User.objects.get(username='******').get_profile() submission = Submission.objects.get() new_judgement = Judgement(judge=judge_profile, submission=submission) form = JudgingForm({'notes': 'Blah'}, criteria=[], instance=new_judgement) assert form.is_valid() judgement = form.save() assert judgement is new_judgement assert_equal(Judgement.objects.count(), 1) assert_equal(Judgement.objects.get().notes, 'Blah') assert_equal(JudgingAnswer.objects.count(), 0)
def test_save_form_create(self): """Test saving a new judgement.""" criteria = Phase.objects.get().judgement_criteria.all() # Quick sanity check assert len(criteria) == 3 judge_profile = User.objects.get(username="******").get_profile() submission = Submission.objects.get() criteria_keys = ["criterion_%s" % c.pk for c in criteria] data = {"notes": "Blah", criteria_keys[0]: 3, criteria_keys[1]: 5, criteria_keys[2]: 7} new_judgement = Judgement(judge=judge_profile, submission=submission) form = JudgingForm(data, criteria=criteria, instance=new_judgement) assert form.is_valid() judgement = form.save() assert_equal(Judgement.objects.count(), 1) assert_equal(Judgement.objects.get().notes, "Blah") answers = JudgingAnswer.objects.filter(judgement=judgement) for criterion, rating in zip(criteria, [3, 5, 7]): assert_equal(answers.get(criterion=criterion).rating, rating)
def test_save_form_create(self): """Test saving a new judgement.""" criteria = Phase.objects.get().judgement_criteria.all() # Quick sanity check assert len(criteria) == 3 judge_profile = User.objects.get(username='******').get_profile() submission = Submission.objects.get() criteria_keys = ['criterion_%s' % c.pk for c in criteria] data = {'notes': 'Blah', criteria_keys[0]: 3, criteria_keys[1]: 5, criteria_keys[2]: 7} new_judgement = Judgement(judge=judge_profile, submission=submission) form = JudgingForm(data, criteria=criteria, instance=new_judgement) assert form.is_valid() judgement = form.save() assert_equal(Judgement.objects.count(), 1) assert_equal(Judgement.objects.get().notes, 'Blah') answers = JudgingAnswer.objects.filter(judgement=judgement) for criterion, rating in zip(criteria, [3, 5, 7]): assert_equal(answers.get(criterion=criterion).rating, rating)