src/cm/tests/test_structure.py
author raph
Mon, 14 Dec 2009 14:10:35 +0100
changeset 64 d0478be65c29
parent 0 40c8f766c9b8
child 103 61fd17f9ab78
permissions -rw-r--r--
i18n typo
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
from django.test import TestCase
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
from django.test.client import Client
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
from django.core import management
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
from cm.models import *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
class StructureTest(TestCase):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
    fixtures = ['test_comments',]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
    def test_edit_text(self):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
        self.assertEqual(TextVersion.objects.count(), 1)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
        self.assertEqual(Comment.objects.count(), 8)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
        # edit with duplication, without changing content
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
        text = Text.objects.all()[0]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
                  new_format='html', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
                  new_content=text.get_latest_version().content, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
                  keep_comments = True, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
                  new_version = True)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
        self.assertEqual(TextVersion.objects.count(), 2)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
        self.assertEqual(Comment.objects.count(), 16)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
        # edit with duplication changing content
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
                  new_format='html', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
                  new_content='simple text <p>simple text</p> <p>simple text</p> ', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
                  keep_comments = True, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
                  new_version = True)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
        self.assertEqual(TextVersion.objects.count(), 3)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
        self.assertEqual(Comment.objects.count(), 17) # 22
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
        # edit without duplication, completely changing content
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
                  new_format='html', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
                  new_content='xxxxxx', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
                  keep_comments = True, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
                  new_version = False)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
        self.assertEqual(TextVersion.objects.count(), 3)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
        self.assertEqual(Comment.objects.count(), 16) # 21
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    def test_edit_text2(self):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
        self.assertEqual(TextVersion.objects.count(), 1)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
        self.assertEqual(Comment.objects.count(), 8)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
        text = Text.objects.all()[0]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
                  new_format='html', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
                  new_content='xxxxxx', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
                  keep_comments = False, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
                  new_version = False)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
        self.assertEqual(TextVersion.objects.count(), 1)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
        self.assertEqual(Comment.objects.count(), 0)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
    def test_edit_text3(self):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
        self.assertEqual(TextVersion.objects.count(), 1)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
        self.assertEqual(Comment.objects.count(), 8)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
        text = Text.objects.all()[0]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
                  new_format='html', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
                  new_content='xxxxxx', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
                  keep_comments = False, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
                  new_version = True)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
        self.assertEqual(TextVersion.objects.count(), 2)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
        self.assertEqual(Comment.objects.count(), 8)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65