]> git.parisson.com Git - django_quiz.git/commitdiff
tests for quiz.views.anon_session_score which were missing
authorTom Walker <tomwalker0472@gmail.com>
Mon, 14 Jul 2014 20:39:04 +0000 (21:39 +0100)
committerTom Walker <tomwalker0472@gmail.com>
Mon, 14 Jul 2014 20:39:04 +0000 (21:39 +0100)
quiz/tests.py

index 1ed5ccfcae6b223f6b6f7e7ff9ffde9ad5db7d4a..b4fd7c9b272d52d0580bdf50d544fef2113971c7 100644 (file)
@@ -1,12 +1,16 @@
 # -*- coding: iso-8859-15 -*-
 
+from django.conf import settings
 from django.contrib.auth.models import User
+from django.contrib.sessions.middleware import SessionMiddleware
 from django.core.urlresolvers import resolve
-from django.test import TestCase
+from django.http import HttpRequest
+from django.test import TestCase, RequestFactory
 from django.template import Template, Context
+from django.utils.importlib import import_module
 
 from .models import Category, Quiz, Progress, Sitting
-from .views import quiz_take
+from .views import quiz_take, anon_session_score
 from multichoice.models import MCQuestion, Answer
 from true_false.models import TF_Question
 
@@ -295,6 +299,25 @@ class TestNonQuestionViews(TestCase):
         self.assertContains(response, 'href="/q/tq1/take/"')
         self.assertTemplateUsed(response, 'quiz/quiz_detail.html')
 
+    def test_anon_session_score(self):
+        request = HttpRequest()
+        engine = import_module(settings.SESSION_ENGINE)
+        request.session = engine.SessionStore(None)
+        score, possible = anon_session_score(request)
+        self.assertEqual((score, possible), (0, 0))
+
+        score, possible = anon_session_score(request, 1, 0)
+        self.assertEqual((score, possible), (0, 0))
+
+        score, possible = anon_session_score(request, 1, 1)
+        self.assertEqual((score, possible), (1, 1))
+
+        score, possible = anon_session_score(request, -0.5, 1)
+        self.assertEqual((score, possible), (0.5, 2))
+
+        score, possible = anon_session_score(request)
+        self.assertEqual((score, possible), (0, 0))
+
 
 class TestQuestionViewsAnon(TestCase):