From: Frédéric Perrin Date: Sun, 9 Oct 2016 22:36:11 +0000 (+0100) Subject: Add testing for the 'random' page X-Git-Url: http://gitweb.fperrin.net/?p=djsite.git;a=commitdiff_plain;h=96df33af88b26f4674557bd07fb8b9696936f451 Add testing for the 'random' page --- diff --git a/quotes/tests.py b/quotes/tests.py index 3836f4e..772d4e3 100644 --- a/quotes/tests.py +++ b/quotes/tests.py @@ -1,8 +1,8 @@ -import sys from django.test import TestCase, Client # Create your tests here. from .models import Tag, Author, Work, Quote +import re class QuoteTest(TestCase): def setUp(self): @@ -53,6 +53,24 @@ class ViewsTest(TestCase): self.assertTrue(q.text in content, content) self.assertTrue(q.notes in content, content) + def test_random(self): + seen = {} + for q in Quote.objects.all(): + seen[q.id] = False + + # Permalink + permalinkre = re.compile(r'([0-9]+).*Permalink') + + for i in xrange(100): + content = self.getPage('random') + m = permalinkre.search(content) + self.assertIsNotNone(m, content) + quoteid = int(m.group(1)) + self.assertIn(quoteid, seen) + seen[quoteid] = True + for q in Quote.objects.all(): + self.assertTrue(seen[q.id]) + def test_views_all_data(self): q = Quote.objects.filter(text__startswith="Quote01") self.assertEqual(q.count(), 1) diff --git a/quotes/urls.py b/quotes/urls.py index 3e905bc..8864db0 100644 --- a/quotes/urls.py +++ b/quotes/urls.py @@ -5,6 +5,7 @@ from . import views urlpatterns = [ url(r'^$', views.random, name='random'), url(r'^random$', views.random, name='random'), + url(r'^random/$', views.random, name='random'), url(r'^show/(?P[0-9]+)/$', views.onequote, name="onequote"), url(r'^tag/(?P[0-9]+)/$', views.tags, name="tags"), url(r'^author/(?P[0-9]+)/$', views.author, name="author"),