Exemplo n.º 1
0
class TestTagModel(TestCase):
    def test_top_level_tag(self):
        """
        
        """
        self.tag = Tag(name='tag1')
        self.tag.save()
        self.tag2 = Tag(name='tag2')
        self.tag2.save()

        self.assertTrue(top_level_tags()[1].name == 'tag2')


    def test_move_tag(self):
        self.tag = Tag(name='tag1')
        self.tag.save()
        self.tag.add_child('tag2')

        self.tag2 = Tag(name='tag2')
        self.tag2.save()
        tag2 = self.tag.childs()[0]
        try:
            tag2.move("")
        except ValueError:
            pass
        else:
            self.assertTrue(False, "this tag should not be moveable here")


        

    def test_rename_tag_fails(self):
        self.tag = Tag(name='tag1')
        self.tag.save()
        self.tag2 = Tag(name='tag3')
        self.tag.save()
        try:
            self.tag2.set_shortname('tag1')
        except ValueError:
            pass
        else:
            self.assertTrue(False, "this tag should not be renameble with this name")

    def test_childs(self):
        tag, cr = Tag.objects.get_or_create(name='tag1')
        tag2, cr = Tag.objects.get_or_create(name='tag1/tag2')    
        tag3, cr = Tag.objects.get_or_create(name='tag1/tag3')

        self.assertTrue(tag.childs()[1].name == 'tag1/tag3')
        self.assertTrue(tag.childs()[1].shortname == 'tag3')

    def test_move(self):
        tag, cr = Tag.objects.get_or_create(name='tag1')
        tag2, cr = Tag.objects.get_or_create(name='tag1/tag2')    
        tag3, cr = Tag.objects.get_or_create(name='tag1/tag3')  
        tag4, cr = Tag.objects.get_or_create(name='tag1/tag3/tag4')

        tag3.move(tag2.name)

        self.assertTrue(len(tag.childs())==1)
        self.assertTrue(tag.childs()[0].shortname == 'tag2')
        self.assertTrue(tag.childs()[0].childs()[0].shortname == 'tag3')
        self.assertTrue(tag.childs()[0].childs()[0].childs()[0].shortname == 'tag4')

    def test_move_to_root(self):
        tag, cr = Tag.objects.get_or_create(name='tag1')
        tag2, cr = Tag.objects.get_or_create(name='tag1/tag2')    
        tag3, cr = Tag.objects.get_or_create(name='tag1/tag3')  
        tag4, cr = Tag.objects.get_or_create(name='tag1/tag3/tag4')

        tag3.move("")

        self.assertTrue(len(top_level_tags())==2)
        self.assertTrue(len(tag.childs())==1)
        
        self.assertTrue(top_level_tags()[1].shortname == 'tag3')
        self.assertTrue(top_level_tags()[1].childs()[0].shortname == 'tag4')