def new_oneliner(user, line, summary=None, explanation=None, limitations=None): if summary is None: summary = '(incorrectly omitted)' if explanation is None: explanation = '(incorrectly omitted)' if limitations is None: limitations = '(this is optional)' oneliner = OneLiner(user=user, line=line, summary=summary, explanation=explanation, limitations=limitations) oneliner.save() return oneliner
class AcceptedAnswerTests(TestCase): def setUp(self): self.jack = Util.new_user('jack') self.oneliner = OneLiner(user=self.jack) self.oneliner.save() self.bill = Util.new_user('bill') OneLiner(user=self.bill).save() self.mike = Util.new_user('mike') self.question = Question(user=self.mike) self.question.save() def test_accept(self): self.assertEqual(AcceptedAnswer.objects.count(), 0) self.assertTrue(not self.question.is_answered) self.question.accept_answer(self.oneliner) self.assertTrue(self.question.is_answered) self.assertEqual(AcceptedAnswer.objects.count(), 1) self.question.accept_answer(self.oneliner) self.assertTrue(self.question.is_answered) self.assertEqual(AcceptedAnswer.objects.count(), 1) def test_accept_clear(self): self.test_accept() self.assertTrue(AcceptedAnswer.objects.count() > 0) self.assertTrue(self.question.is_answered) self.question.clear_all_answers() self.assertFalse(AcceptedAnswer.objects.count() > 0) self.assertFalse(self.question.is_answered) def test_clear_answers_when_is_answered_is_cleared(self): self.test_accept() self.assertTrue(AcceptedAnswer.objects.count() > 0) self.assertTrue(self.question.is_answered) self.question.is_answered = False self.question.save() self.assertFalse(AcceptedAnswer.objects.count() > 0)