src/protocols/tests/managers.py
author ymh <ymh.work@gmail.com>
Wed, 18 Jul 2018 17:32:09 +0200
changeset 142 56850f5c73f6
permissions -rw-r--r--
- upgrade libraries - python 3.7 compatibility - First protocol management implementation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
142
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
import logging
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
from django.contrib.auth import get_user_model
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
from django.test import TestCase
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
from protocols.models import (Metacategory, MetacategoryRevision, Protocol,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
                              ProtocolRevision)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
from protocols.serializers import ProtocolRevisionSerializer
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
logger = logging.getLogger(__name__)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
class ManagerTest(TestCase):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    def setUp(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        User = get_user_model()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        self.user1 = User.objects.create_user(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
            username='user1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
            email='user1@email.com',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
            password='hiddenpassword'
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        self.user2 = User.objects.create_user(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
            username='user2',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
            email='user2@email.com',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
            password='hiddenpassword'
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    def test_create_new_protocol_new_categories(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
        protocol_nb = Protocol.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
        protocol_rev_nb = ProtocolRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        metacategory_nb = Metacategory.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        metacategory_rev_nb = MetacategoryRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
        revision_def = {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
            'title': 'protocol1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
            'description': 'Protocol nº1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
            'owner': 'admin',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
            'metacategories' : [{
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
                'title': 'Important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
                'label': 'important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
                'description': "Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
                'color': '#F1C40F',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
                'title': 'Mot-clé',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
                'label': 'mot-cle',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
                'description': "Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
                'color': '#2ECC71',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
                'title': 'Commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
                'label': 'commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
                'description': "Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
                'color': '#3498DB',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
                'has_comment': True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
            }]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
        }
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
        protocol_revision = Protocol.objects.create_new_revision(None, revision_def, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
        self.assertEqual(protocol_nb+1, Protocol.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
        self.assertEqual(protocol_rev_nb+1, ProtocolRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
        self.assertEqual(metacategory_nb+3, Metacategory.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
        self.assertEqual(metacategory_rev_nb+3, MetacategoryRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
    def test_no_create_new_protocol(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
        revision_def = {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
            'title': 'protocol1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
            'description': 'Protocol nº1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
            'owner': 'admin',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
            'metacategories' : [{
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
                'title': 'Important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
                'label': 'important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
                'description': "Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
                'color': '#F1C40F',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
                'title': 'Mot-clé',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
                'label': 'mot-cle',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
                'description': "Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
                'color': '#2ECC71',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
                'title': 'Commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
                'label': 'commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
                'description': "Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
                'color': '#3498DB',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
                'has_comment': True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
            }]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
        }
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
        protocol_revision = Protocol.objects.create_new_revision(None, revision_def, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
        serializer = ProtocolRevisionSerializer(protocol_revision)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
        protocol_nb = Protocol.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
        protocol_rev_nb = ProtocolRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
        metacategory_nb = Metacategory.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
        metacategory_rev_nb = MetacategoryRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
        protocol_revision = Protocol.objects.create_new_revision(protocol_revision.protocol.ext_id, serializer.data, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
        self.assertEqual(protocol_nb, Protocol.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
        self.assertEqual(metacategory_nb, Metacategory.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
        self.assertEqual(metacategory_rev_nb, MetacategoryRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
        self.assertEqual(protocol_rev_nb, ProtocolRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
    def test_create_new_protocol_title(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
        revision_def = {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
            'title': 'protocol1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
            'description': 'Protocol nº1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
            'owner': 'admin',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
            'metacategories' : [{
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
                'title': 'Important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
                'label': 'important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
                'description': "Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
                'color': '#F1C40F',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
                'title': 'Mot-clé',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
                'label': 'mot-cle',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
                'description': "Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
                'color': '#2ECC71',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
                'title': 'Commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
                'label': 'commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
                'description': "Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
                'color': '#3498DB',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
                'has_comment': True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
            }]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
        }
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
        protocol_revision = Protocol.objects.create_new_revision(None, revision_def, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
        serializer = ProtocolRevisionSerializer(protocol_revision)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
        protocol_nb = Protocol.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
        protocol_rev_nb = ProtocolRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
        metacategory_nb = Metacategory.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
        metacategory_rev_nb = MetacategoryRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
        new_data = dict(serializer.data)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
        new_data['title'] = 'protocol1-bis'
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
        protocol_revision = Protocol.objects.create_new_revision(protocol_revision.protocol.ext_id, new_data, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
        self.assertEqual(protocol_nb, Protocol.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
        self.assertEqual(metacategory_nb, Metacategory.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
        self.assertEqual(metacategory_rev_nb, MetacategoryRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
        self.assertEqual(protocol_rev_nb+1, ProtocolRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
    def test_create_new_protocol_revision_new_categories(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
        revision_def = {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
            'title': 'protocol1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
            'description': 'Protocol nº1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
            'owner': 'admin',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
            'metacategories' : [{
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
                'title': 'Important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
                'label': 'important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
                'description': "Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
                'color': '#F1C40F',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
                'title': 'Mot-clé',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
                'label': 'Mot-cle',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
                'description': "Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
                'color': '#2ECC71',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
                'title': 'Commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
                'label': 'commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
                'description': "Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
                'color': '#3498DB',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
                'has_comment': True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
            }]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
        }
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
        protocol_revision = Protocol.objects.create_new_revision(None, revision_def, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
        protocol_nb = Protocol.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
        protocol_rev_nb = ProtocolRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
        metacategory_nb = Metacategory.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
        metacategory_rev_nb = MetacategoryRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
        revision_def = {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
            'version': protocol_revision.version,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
            'title': 'protocol1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
            'description': 'Protocol nº1 bis',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
            'owner': 'admin',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
            'metacategories' : [{
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
                'title': 'Important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
                'label': 'important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
                'description': "Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
                'color': '#F1C40F',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
                'title': 'Mot-clé',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
                'label': 'Mot-cle',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
                'description': "Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
                'color': '#2ECC71',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
                'title': 'Commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
                'label': 'commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
                'description': "Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
                'color': '#3498DB',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
                'has_comment': True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
            }]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
        }
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
        protocol_revision = Protocol.objects.create_new_revision(protocol_revision.protocol.ext_id, revision_def, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
        self.assertEqual(protocol_nb, Protocol.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
        self.assertEqual(protocol_rev_nb+1, ProtocolRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
        self.assertEqual(metacategory_nb+3, Metacategory.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
        self.assertEqual(metacategory_rev_nb+3, MetacategoryRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
        self.assertEqual(protocol_revision.description, 'Protocol nº1 bis')
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
    def test_create_new_protocol_revision_no_categories_revisions(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
        metacategory1 = Metacategory.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
            title="Important base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
            label="important-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
            description="Important base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
            color="#F1C41F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
            is_default=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
        metacategory_revision1 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
            base=metacategory1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
            title="Important",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
            label="important",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
            description="Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
            color="#F1C40F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
            has_comment=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
        metacategory2 = Metacategory.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
            title="Mot-clé base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
            label="Mot-cle-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
            description="Mot-clé base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
            color="#2ECC72",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
            is_default=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
        metacategory_revision2 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
            base=metacategory2,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
            title="Mot-clé",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
            label="mot-cle",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
            description="Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
            color="#2ECC71",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
            has_comment=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
        metacategory3 = Metacategory.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
            title="Commentaire base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
            label="commentaire-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
            description="Commentaire base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
            color="#3498DC",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
            is_default=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
        metacategory_revision3 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
            base=metacategory3,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
            title="Commentaire",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
            label="commentaire",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
            description="Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
            color="#3498DB",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
            has_comment=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
        revision_def = {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
            'title': 'protocol1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
            'description': 'Protocol nº1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
            'owner': 'admin',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
            'metacategories' : [{
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
                'id': str(metacategory_revision1.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
                'base': str(metacategory1.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
                'title': 'Important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
                'label': 'important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
                'description': "Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
                'color': '#F1C40F',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
                'id': str(metacategory_revision2.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
                'base': str(metacategory2.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
                'title': 'Mot-clé',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
                'label': 'mot-cle',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
                'description': "Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
                'color': '#2ECC71',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
                'id': str(metacategory_revision3.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
                'base': str(metacategory3.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
                'title': 'Commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
                'label': 'commentaire',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
                'description': "Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
                'color': '#3498DB',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
                'has_comment': True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
            }]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
        }
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
        protocol_nb = Protocol.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
        protocol_rev_nb = ProtocolRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
        metacategory_nb = Metacategory.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
        metacategory_rev_nb = MetacategoryRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
        protocol_revision = Protocol.objects.create_new_revision(None, revision_def, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
        self.assertEqual(protocol_nb+1, Protocol.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
        self.assertEqual(protocol_rev_nb+1, ProtocolRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
        self.assertEqual(metacategory_nb, Metacategory.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
        self.assertEqual(metacategory_rev_nb, MetacategoryRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
    def test_create_new_protocol_revision_one_categories_revisions(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
        metacategory1 = Metacategory.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
            title="Important base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
            label="important-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
            description="Important base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
            color="#F1C41F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
            is_default=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
        metacategory_revision1 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
            base=metacategory1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
            title="Important",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
            label="important",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
            description="Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
            color="#F1C40F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
            has_comment=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
        metacategory2 = Metacategory.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
            title="Mot-clé base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
            label="mot-cle-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
            description="Mot-clé base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
            color="#2ECC72",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
            is_default=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
        metacategory_revision2 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
            base=metacategory2,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
            title="Mot-clé",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
            label="mot-cle",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
            description="Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
            color="#2ECC71",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
            has_comment=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
        metacategory3 = Metacategory.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
            title="Commentaire base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
            label="commentaire-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
            description="Commentaire base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
            color="#3498DC",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
            is_default=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
        metacategory_revision3 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
            base=metacategory3,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
            title="Commentaire",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
            label="commentaire",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
            description="Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
            color="#3498DB",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
            has_comment=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
        revision_def = {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
            'title': 'protocol1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
            'description': 'Protocol nº1',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
            'owner': 'admin',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
            'metacategories' : [{
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
                'id': str(metacategory_revision1.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
                'base': str(metacategory1.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
                'title': 'Important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
                'label': 'important',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
                'description': "Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
                'color': '#F1C40F',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
                'id': str(metacategory_revision2.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
                'base': str(metacategory2.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
                'title': 'Mot-clé',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
                'label': 'mot-cle',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
                'description': "Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
                'color': '#2ECC71',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
                'has_comment': False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
            }, {
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
                'id': str(metacategory_revision3.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
                'base': str(metacategory3.ext_id),
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
                'title': 'Commentaire amélioré',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
                'label': 'commentaire-ameliore',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
                'description': "Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
                'color': '#3498DB',
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
                'version': 1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
                'has_comment': True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
            }]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
        }
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
        protocol_nb = Protocol.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
        protocol_rev_nb = ProtocolRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
        metacategory_nb = Metacategory.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
        metacategory_rev_nb = MetacategoryRevision.objects.all().count()
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
        protocol_revision = Protocol.objects.create_new_revision(None, revision_def, None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
        self.assertEqual(protocol_nb+1, Protocol.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
        self.assertEqual(protocol_rev_nb+1, ProtocolRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
        self.assertEqual(metacategory_nb, Metacategory.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
        self.assertEqual(metacategory_rev_nb+1, MetacategoryRevision.objects.all().count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
    def test_create_with_revision(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
        metacategory1 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
            app=self.user1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
            title="Important base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
            label="important-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
            description="Important base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
            color="#F1C41F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
            is_default=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
        self.assertEqual(1, metacategory1.revisions.count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
        self.assertEqual(5, MetacategoryRevision.objects.all().count()) # There are the 4 created by default
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
        revision = metacategory1.revisions.all()[0]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
        self.assertEqual(metacategory1.title, revision.title)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
        self.assertEqual(metacategory1.description, revision.description)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
        self.assertEqual(metacategory1.color, revision.color)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
        self.assertEqual(metacategory1.has_comment, revision.has_comment)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
    def test_create_new_protocol_default(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
        metacategory1 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
            title="Important base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
            label="important_base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
            description="Important base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
            color="#F1C41F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
        metacategory2 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
            title="Mot-clé base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
            label="mot-clef-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
            description="Mot-clé base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
            color="#2ECC72",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
        metacategory3 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
            title="Commentaire base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
            label="commentaire-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
            description="Commentaire base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
            color="#3498DC",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
        metacategory4 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
            title="Commentaire base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
            label="commentaire-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
            description="Commentaire base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
            color="#3498DC",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
            is_default=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
        protocol = Protocol.objects.create_from_default('Default', 'Default protocol', 'admin', None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
        self.assertEqual(3, Protocol.objects.count()) # 1 protocol for each user (group) + 1
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
        self.assertEqual(3, ProtocolRevision.objects.count()) # 1 protocol rev for each user (group) + 1
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
        self.assertEqual(1, protocol.revisions.count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
        protocol_revision = protocol.revisions.all()[0]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
        self.assertEqual(7, protocol_revision.metacategories.count()) # There are the 4 created by default
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
        title_set = set([mc.title for mc in protocol_revision.metacategories.all()])
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
        self.assertEqual(set(['trouble', 'important', 'commentaire', 'mot-clef', "Mot-clé base","Commentaire base","Important base"]), title_set)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
    def test_create_new_protocol_default_revision(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
        metacategory1 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
            title="Important base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
            label="important-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
            description="Important base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
            color="#F1C41F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
        metacategory_revision1 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
            base=metacategory1,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
            title="Important",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
            label="important",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
            description="Important.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
            color="#F1C40F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
            has_comment=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
        metacategory2 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
            title="Mot-clé base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
            label="mot-clef-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
            description="Mot-clé base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
            color="#2ECC72",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
        metacategory_revision2 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
            base=metacategory2,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
            title="Mot-clé",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
            label="mot-clef",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
            description="Mot-clé.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
            color="#2ECC71",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
            has_comment=False
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
        metacategory3 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
            title="Commentaire base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
            label="commentaire-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
            description="Commentaire base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
            color="#3498DC",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
        metacategory_revision3 = MetacategoryRevision.objects.create(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
            base=metacategory3,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
            title="Commentaire",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
            label="commentaire",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
            description="Commentaire.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
            color="#3498DB",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
            has_comment=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
        protocol = Protocol.objects.create_from_default('Default', 'Default protocol', 'admin', None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
        self.assertEqual(3, Protocol.objects.count()) # 1 protocol for each user (group) + 1
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
        self.assertEqual(3, ProtocolRevision.objects.count()) # 1 protocol rev for each user (group) + 1
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
        self.assertEqual(1, protocol.revisions.count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
        protocol_revision = protocol.revisions.all()[0]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
        self.assertEqual(7, protocol_revision.metacategories.count()) # There are the 4 created by default
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
        title_set = set([mc.title for mc in protocol_revision.metacategories.all()])
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
        self.assertEqual(set(['trouble', 'important', 'commentaire', 'mot-clef', 'Mot-clé base', 'Commentaire base', 'Important base']), title_set)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
    def test_create_new_protocol_default_user(self):
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
        metacategory1 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
            title="Important base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
            label="important-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
            description="Important base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
            color="#F1C41F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
        metacategory2 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
            title="Mot-clé base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
            label="mot-clef-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
            description="Mot-clé base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
            color="#2ECC72",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
        metacategory3 = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
            app=None,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
            title="Commentaire base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
            label="commentaire-base",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
            description="Commentaire base.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
            color="#3498DC",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
        metacategory1bis = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
            app=self.user2,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
            title="Important base bis",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
            label="important-base-bis",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
            description="Important base bis.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
            color="#F1C41F",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
        metacategory2bis = Metacategory.objects.create_with_revision(
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
            app=self.user2,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
            title="Mot-clé base bis",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
            label="mot-cle-base-bis",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
            description="Mot-clé base bis.",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
            color="#2ECC72",
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
            has_comment=False,
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
            is_default=True
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
        )
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
        protocol = Protocol.objects.create_from_default('Default', 'Default protocol', 'admin', None)
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
        self.assertEqual(3, Protocol.objects.count()) # 1 protocol for each user (group) + 1
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
        self.assertEqual(3, ProtocolRevision.objects.count()) # 1 protocol rev for each user (group) + 1
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
        self.assertEqual(1, protocol.revisions.count())
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
        protocol_revision = protocol.revisions.all()[0]
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
        self.assertEqual(7, protocol_revision.metacategories.count()) # There are the 4 created by default
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
        title_set = set([mc.title for mc in protocol_revision.metacategories.all()])
56850f5c73f6 - upgrade libraries
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
        self.assertEqual(set(['trouble', 'important', 'commentaire', 'mot-clef', 'Mot-clé base', 'Commentaire base', 'Important base']), title_set)