From: Tom Walker Date: Mon, 14 Jul 2014 20:39:04 +0000 (+0100) Subject: tests for quiz.views.anon_session_score which were missing X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=f452437c9c8f9df70227dec9bfc9b5e64f74af49;p=django_quiz.git tests for quiz.views.anon_session_score which were missing --- diff --git a/quiz/tests.py b/quiz/tests.py index 1ed5ccf..b4fd7c9 100644 --- a/quiz/tests.py +++ b/quiz/tests.py @@ -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):