Skip to content

Commit c594770

Browse files
committed
Testing cloud_for_model
1 parent ba2fb90 commit c594770

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

tagging/tests/tests.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,49 @@ def test_related_for_model_with_tag_strings_as_input(self):
686686
self.assertEqual(len(relevant_attribute_list), 0)
687687

688688

689+
class TestTagCloudForModel(TestCase):
690+
def setUp(self):
691+
parrot_details = (
692+
('pining for the fjords', 9, True, 'foo bar'),
693+
('passed on', 6, False, 'bar baz ter'),
694+
('no more', 4, True, 'foo ter'),
695+
('late', 2, False, 'bar ter'),
696+
)
697+
698+
for state, perch_size, perch_smelly, tags in parrot_details:
699+
perch = Perch.objects.create(size=perch_size, smelly=perch_smelly)
700+
parrot = Parrot.objects.create(state=state, perch=perch)
701+
Tag.objects.update_tags(parrot, tags)
702+
703+
def test_tag_cloud_for_model(self):
704+
tag_cloud = Tag.objects.cloud_for_model(Parrot)
705+
relevant_attribute_list = [(tag.name, tag.count, tag.font_size)
706+
for tag in tag_cloud]
707+
self.assertEqual(len(relevant_attribute_list), 4)
708+
self.assertTrue(('bar', 3, 4) in relevant_attribute_list)
709+
self.assertTrue(('baz', 1, 1) in relevant_attribute_list)
710+
self.assertTrue(('foo', 2, 2) in relevant_attribute_list)
711+
self.assertTrue(('ter', 3, 4) in relevant_attribute_list)
712+
713+
def test_tag_cloud_for_model_filters(self):
714+
tag_cloud = Tag.objects.cloud_for_model(Parrot,
715+
filters={'state': 'no more'})
716+
relevant_attribute_list = [(tag.name, tag.count, tag.font_size)
717+
for tag in tag_cloud]
718+
self.assertEqual(len(relevant_attribute_list), 2)
719+
self.assertTrue(('foo', 1, 1) in relevant_attribute_list)
720+
self.assertTrue(('ter', 1, 1) in relevant_attribute_list)
721+
722+
def test_tag_cloud_for_model_min_count(self):
723+
tag_cloud = Tag.objects.cloud_for_model(Parrot, min_count=2)
724+
relevant_attribute_list = [(tag.name, tag.count, tag.font_size)
725+
for tag in tag_cloud]
726+
self.assertEqual(len(relevant_attribute_list), 3)
727+
self.assertTrue(('bar', 3, 4) in relevant_attribute_list)
728+
self.assertTrue(('foo', 2, 1) in relevant_attribute_list)
729+
self.assertTrue(('ter', 3, 4) in relevant_attribute_list)
730+
731+
689732
class TestGetTaggedObjectsByModel(TestCase):
690733
def setUp(self):
691734
parrot_details = (

0 commit comments

Comments
 (0)