4 from quotes.models import QuoteTag, Quote, Work, Author
6 class Test_Cloud(object):
8 def size_range_small(self):
9 return [1, 5, 10, 7, 3]
11 def fill_db(self, size_range):
12 maxsize = max(size_range)
14 a = Author.objects.create(name="blah")
15 w = Work.objects.create(name="foo", author=a)
17 for i in range(maxsize):
18 Quote.objects.create(text="some text for quote %d" % i,
21 for size in size_range:
22 tag = QuoteTag.objects.create(tag="tag-%d-" % size)
23 quotelist = Quote.objects.all()[:size]
26 quotelist[i].tags.add(tag)
28 def check_cloud(self, c, size_range):
29 top20 = sorted(size_range, reverse=True)[0:20]
31 cloud = c.getPage("cloud/")
33 assert re.search("tag-%d-, %d quotes" % (size, size), cloud)
34 c.checkAllLinks('cloud/', cloud)
36 def test_cloud(self, size_range_small, db, c):
37 self.fill_db(size_range_small)
38 self.check_cloud(c, size_range_small)
41 def size_range_large(self):
44 def test_cloud_large(self, size_range_large, db, c):
45 self.fill_db(size_range_large)
46 self.check_cloud(c, size_range_large)