]> git.parisson.com Git - django_quiz.git/commitdiff
tests for the new features
authortomwalker <tomwalker0472@gmail.com>
Wed, 6 Aug 2014 18:50:08 +0000 (19:50 +0100)
committertomwalker <tomwalker0472@gmail.com>
Wed, 6 Aug 2014 18:50:08 +0000 (19:50 +0100)
essay/tests.py
multichoice/tests.py
quiz/models.py
quiz/tests.py
true_false/tests.py

index c261a45072e2da3b78e296041e6724730a3ba577..28d8aef8e334c2026276f64de51d73f7b9d9680d 100644 (file)
@@ -16,3 +16,7 @@ class TestEssayQuestionModel(TestCase):
     def test_returns_guess(self):
         guess = "To be or not to be"
         self.assertEqual(self.essay.answer_choice_to_string(guess), guess)
+
+    def test_answer_to_string(self):
+        self.assertEqual('To be...',
+                         self.essay.answer_choice_to_string('To be...'))
index 131a60fd2b21ab356a6d761ac97a44334102d7a4..0442a476f495cdbc3ecdb227f245e268afe2225d 100644 (file)
@@ -48,3 +48,6 @@ class TestMCQuestionModel(TestCase):
 
         self.q.figure.save('image', ContentFile(imgfile.read()))
         self.assertIsInstance(self.q.figure, ImageFieldFile)
+
+    def test_answer_to_string(self):
+        self.assertEqual('African', self.q.answer_choice_to_string(123))
index d8914ba8ed72bf714c692fe44186996f8b7f7590..672cd43ae0e0539c8b37a6d677bbb816f077b4c3 100644 (file)
@@ -78,7 +78,8 @@ class Quiz(models.Model):
                                                  "a random order or as they "
                                                  "are set?")
 
-    max_questions = models.PositiveIntegerField(blank=True, null=True,
+    max_questions = models.PositiveIntegerField(blank=True,
+                                                null=True,
                                                 help_text="Number of questions"
                                                           " to be answered on"
                                                           " each attempt.")
@@ -358,11 +359,12 @@ class Sitting(models.Model):
 
     user_answers = models.TextField(blank=True, default='{}')
 
-    objects = SittingManager()
-
     start = models.DateTimeField(auto_now_add=True)
+
     end = models.DateTimeField(null=True, blank=True)
 
+    objects = SittingManager()
+
     class Meta:
         permissions = (("view_sittings", "Can see completed exams."),)
 
index 29187dd37c9246b6bb1c52041b92302cf5cf82aa..bc1536ab5153e4b11241674573b400e760b2b06c 100644 (file)
@@ -204,6 +204,18 @@ class TestSitting(TestCase):
 
         self.sitting = Sitting.objects.new_sitting(self.user, self.quiz1)
 
+    def test_max_questions_subsetting(self):
+        quiz2 = Quiz.objects.create(id=2,
+                                    title='test quiz 2',
+                                    description='d2',
+                                    url='tq2',
+                                    max_questions=1)
+        self.question1.quiz.add(quiz2)
+        self.question2.quiz.add(quiz2)
+        sub_sitting = Sitting.objects.new_sitting(self.user, quiz2)
+
+        self.assertNotIn('2', sub_sitting.question_list)
+
     def test_get_next_remove_first(self):
         self.assertEqual(self.sitting.get_first_question(),
                          self.question1)
@@ -877,3 +889,13 @@ class TestTemplateTags(TestCase):
         self.assertTemplateUsed('correct_answer.html')
         self.assertIn('bing', template.render(context))
         self.assertIn('incorrectly', template.render(context))
+
+    def test_answer_to_string(self):
+        template = Template('{% load quiz_tags %}' +
+                            '{{ question|answer_choice_to_string:answer }}')
+
+        context = Context({'question': self.question1,
+                           'answer': self.answer1.id,
+                           'incorrect_questions': [1]})
+
+        self.assertIn('bing', template.render(context))
index 46d02f12f049c51e3790eb10c9e513b23a6b5c8d..317fed33d283bb4e08ba6cadef641c0a5b5424b3 100644 (file)
@@ -30,3 +30,6 @@ class TestTrueFalseQuestionModel(TestCase):
                           {'correct': False,
                            'content': 'False'}])
         self.assertEqual(self.red.answer_choice_to_string('True'), 'True')
+
+    def test_answer_to_string(self):
+        self.assertEqual('True', self.red.answer_choice_to_string(True))