src/cm/tests/test_structure.py
author raph
Mon, 17 May 2010 15:07:30 +0200
changeset 278 3d25afbd78ff
parent 103 61fd17f9ab78
permissions -rw-r--r--
fix unit tests
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, 
103
61fd17f9ab78 enh: detached comments
rbernard
parents: 0
diff changeset
    20
                  cancel_modified_scopes=False,                  
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
                  new_version = True)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
        self.assertEqual(TextVersion.objects.count(), 2)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
        self.assertEqual(Comment.objects.count(), 16)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
        # edit with duplication changing content
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
                  new_format='html', 
278
3d25afbd78ff fix unit tests
raph
parents: 103
diff changeset
    28
                  new_content=u'simple text <p>simple text</p> <p>simple text</p> ', 
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
                  keep_comments = True, 
103
61fd17f9ab78 enh: detached comments
rbernard
parents: 0
diff changeset
    30
                  cancel_modified_scopes=False,                  
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
                  new_version = True)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
        self.assertEqual(TextVersion.objects.count(), 3)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
        self.assertEqual(Comment.objects.count(), 17) # 22
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
        # edit without duplication, completely changing content
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
                  new_format='html', 
278
3d25afbd78ff fix unit tests
raph
parents: 103
diff changeset
    38
                  new_content=u'xxxxxx', 
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
                  keep_comments = True, 
103
61fd17f9ab78 enh: detached comments
rbernard
parents: 0
diff changeset
    40
                  cancel_modified_scopes=False,                  
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
                  new_version = False)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
        self.assertEqual(TextVersion.objects.count(), 3)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
        self.assertEqual(Comment.objects.count(), 16) # 21
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
    def test_edit_text2(self):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
        self.assertEqual(TextVersion.objects.count(), 1)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
        self.assertEqual(Comment.objects.count(), 8)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
        text = Text.objects.all()[0]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
                  new_format='html', 
278
3d25afbd78ff fix unit tests
raph
parents: 103
diff changeset
    51
                  new_content=u'xxxxxx', 
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
                  keep_comments = False, 
103
61fd17f9ab78 enh: detached comments
rbernard
parents: 0
diff changeset
    53
                  cancel_modified_scopes=False,                  
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
                  new_version = False)
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(), 0)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
    def test_edit_text3(self):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
        self.assertEqual(TextVersion.objects.count(), 1)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
        self.assertEqual(Comment.objects.count(), 8)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
        text = Text.objects.all()[0]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
        new_text = text.edit(new_title='my title', 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
                  new_format='html', 
278
3d25afbd78ff fix unit tests
raph
parents: 103
diff changeset
    64
                  new_content=u'xxxxxx', 
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
                  keep_comments = False, 
103
61fd17f9ab78 enh: detached comments
rbernard
parents: 0
diff changeset
    66
                  cancel_modified_scopes=False,                  
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
                  new_version = True)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
        self.assertEqual(TextVersion.objects.count(), 2)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
        self.assertEqual(Comment.objects.count(), 8)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70