@@ -686,6 +686,49 @@ def test_related_for_model_with_tag_strings_as_input(self):
686
686
self .assertEqual (len (relevant_attribute_list ), 0 )
687
687
688
688
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
+
689
732
class TestGetTaggedObjectsByModel (TestCase ):
690
733
def setUp (self ):
691
734
parrot_details = (
0 commit comments