server/test/unittest_migractions.py
branch3.5
changeset 3252 c0e10da6f1cf
parent 2967 e7d348134006
child 3266 38ffdb284689
equal deleted inserted replaced
3251:7ff4754f8618 3252:c0e10da6f1cf
   139         for cstr in eschema.constraints('name'):
   139         for cstr in eschema.constraints('name'):
   140             self.failUnless(hasattr(cstr, 'eid'))
   140             self.failUnless(hasattr(cstr, 'eid'))
   141 
   141 
   142     def test_add_drop_entity_type(self):
   142     def test_add_drop_entity_type(self):
   143         self.mh.cmd_add_entity_type('Folder2')
   143         self.mh.cmd_add_entity_type('Folder2')
   144         todoeid = self.mh.cmd_add_state(u'todo', 'Folder2', initial=True)
   144         wf = self.mh.cmd_add_workflow(u'folder2 wf', 'Folder2')
   145         doneeid = self.mh.cmd_add_state(u'done', 'Folder2')
   145         todo = wf.add_state(u'todo', initial=True)
   146         self.mh.cmd_add_transition(u'redoit', 'Folder2', (doneeid,), todoeid)
   146         done = wf.add_state(u'done')
   147         self.mh.cmd_add_transition(u'markasdone', 'Folder2', (todoeid,), doneeid)
   147         wf.add_transition(u'redoit', done, todo)
       
   148         wf.add_transition(u'markasdone', todo, done)
   148         self.commit()
   149         self.commit()
   149         eschema = self.schema.eschema('Folder2')
   150         eschema = self.schema.eschema('Folder2')
   150         self.mh.cmd_drop_entity_type('Folder2')
   151         self.mh.cmd_drop_entity_type('Folder2')
   151         self.failIf('Folder2' in self.schema)
   152         self.failIf('Folder2' in self.schema)
   152         self.failIf(self.execute('CWEType X WHERE X name "Folder2"'))
   153         self.failIf(self.execute('CWEType X WHERE X name "Folder2"'))
   173                           ('Affaire', ))
   174                           ('Affaire', ))
   174         self.assertEquals(self.schema['concerne2'].rproperty('Personne', 'Affaire', 'cardinality'),
   175         self.assertEquals(self.schema['concerne2'].rproperty('Personne', 'Affaire', 'cardinality'),
   175                           '1*')
   176                           '1*')
   176         self.mh.cmd_add_relation_definition('Personne', 'concerne2', 'Note')
   177         self.mh.cmd_add_relation_definition('Personne', 'concerne2', 'Note')
   177         self.assertEquals(sorted(self.schema['concerne2'].objects()), ['Affaire', 'Note'])
   178         self.assertEquals(sorted(self.schema['concerne2'].objects()), ['Affaire', 'Note'])
   178         self.mh.add_entity('Personne', nom=u'tot')
   179         self.mh.create_entity('Personne', nom=u'tot')
   179         self.mh.add_entity('Affaire')
   180         self.mh.create_entity('Affaire')
   180         self.mh.rqlexec('SET X concerne2 Y WHERE X is Personne, Y is Affaire')
   181         self.mh.rqlexec('SET X concerne2 Y WHERE X is Personne, Y is Affaire')
   181         self.commit()
   182         self.commit()
   182         self.mh.cmd_drop_relation_definition('Personne', 'concerne2', 'Affaire')
   183         self.mh.cmd_drop_relation_definition('Personne', 'concerne2', 'Affaire')
   183         self.failUnless('concerne2' in self.schema)
   184         self.failUnless('concerne2' in self.schema)
   184         self.mh.cmd_drop_relation_definition('Personne', 'concerne2', 'Note')
   185         self.mh.cmd_drop_relation_definition('Personne', 'concerne2', 'Note')
   441 
   442 
   442     def test_remove_dep_cube(self):
   443     def test_remove_dep_cube(self):
   443         ex = self.assertRaises(ConfigurationError, self.mh.cmd_remove_cube, 'file')
   444         ex = self.assertRaises(ConfigurationError, self.mh.cmd_remove_cube, 'file')
   444         self.assertEquals(str(ex), "can't remove cube file, used as a dependency")
   445         self.assertEquals(str(ex), "can't remove cube file, used as a dependency")
   445 
   446 
   446     def test_set_state(self):
       
   447         user = self.session.user
       
   448         self.mh.set_state(user.eid, 'deactivated')
       
   449         user.clear_related_cache('in_state', 'subject')
       
   450         self.assertEquals(user.state, 'deactivated')
       
   451 
       
   452     def test_introduce_base_class(self):
   447     def test_introduce_base_class(self):
   453         self.mh.cmd_add_entity_type('Para')
   448         self.mh.cmd_add_entity_type('Para')
   454         self.mh.repo.schema.rebuild_infered_relations()
   449         self.mh.repo.schema.rebuild_infered_relations()
   455         self.assertEquals(sorted(et.type for et in self.schema['Para'].specialized_by()),
   450         self.assertEquals(sorted(et.type for et in self.schema['Para'].specialized_by()),
   456                           ['Note'])
   451                           ['Note'])