-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):
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
+
+ # <a href="{% url 'quotes:onequote' quote.id %}">Permalink</a>
+ 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)
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<quote_id>[0-9]+)/$', views.onequote, name="onequote"),
url(r'^tag/(?P<tag_id>[0-9]+)/$', views.tags, name="tags"),
url(r'^author/(?P<author_id>[0-9]+)/$', views.author, name="author"),