category_test = Category.objects.filter(category = category_queried) \
                                         .exists()
 
-        if category_test == False or score_to_add == False or \
-           possible_to_add == False or str(score_to_add).isdigit() == False or \
-           str(possible_to_add).isdigit() == False:
+        if any([category_test == False, score_to_add == False,
+                possible_to_add == False, str(score_to_add).isdigit() == False,
+                str(possible_to_add).isdigit() == False]):
             return "error",  "category does not exist or invalid score"
 
         to_find = re.escape(str(category_queried)) + r",(\d+),(\d+),"
 
 # -*- coding: iso-8859-15 -*-
 
 from django.contrib.auth.models import User, AnonymousUser
+from django.core.urlresolvers import resolve
+from django.http import HttpRequest
 from django.test import TestCase
 from django.test.client import Client, RequestFactory
 
+
 from quiz.models import Category, Quiz, Progress, Sitting, Question
 from quiz.views import quiz_take
 from multichoice.models import MCQuestion
 
         self.factory = RequestFactory()
 
-    def test_quiz_take_anon(self):
-        request = self.client.get('/q/tq1/')
-        request.user = AnonymousUser()
-        request.session = self.client.session
-        request.session['set_expiry'] = 0
+    def test_quiz_take_anon_view_only(self):
+        found = resolve('/q/tq1/')
 
-        print request
+        self.assertEqual(found.func, quiz_take)
+        self.assertEqual(found.kwargs, {'quiz_name': 'tq1'})
+        self.assertEqual(found.url_name, 'quiz_start_page')
 
-        self.assertContains(response, 'Sign up')
+        response = self.client.get('/q/tq1/')
+
+        self.assertContains(response, 'squawk', status_code = 200)
+        self.assertEqual(self.client.session.get_expiry_age(), 259200)
+        self.assertEqual(self.client.session['1_q_list'], [1, 2])
+        self.assertEqual(self.client.session['1_score'], 0)
+        self.assertEqual(self.client.session['page_count'], 0)
+        self.assertEqual(response.context['quiz'].id, 1)
+        self.assertEqual(response.context['question'].content, "squawk")
+        self.assertEqual(response.context['question_type'], "MCQuestion")
+        self.assertEqual(response.context['previous'], {})
+        self.assertEqual(response.context['show_advert'], False)
+        self.assertTemplateUsed('question.html')
+
+        session = self.client.session
+        session.set_expiry(1) # session is set when user first
+        session.save()        # accesses a quiz
+
+        response2 = self.client.get('/q/tq1/')
+        self.assertEqual(self.client.session.get_expiry_age(), 1)
+        self.assertEqual(self.client.session['1_q_list'], [1, 2])
+        self.assertEqual(self.client.session['1_score'], 0)
+        self.assertEqual(self.client.session['page_count'], 0)
+
+    def test_quiz_take_anon_submit(self):
+        response = self.client.get('/q/tq1/')
 
 
 class TestQuestionViewsUser(TestCase):