server/test/unittest_repository.py
changeset 6142 8bc6eac1fac1
parent 6030 a1544ca8913e
child 6225 a176e68b7d0d
equal deleted inserted replaced
6141:b8287e54b528 6142:8bc6eac1fac1
   421             # XXX will fail with python -O
   421             # XXX will fail with python -O
   422             self.assertRaises(AssertionError, req.create_entity,
   422             self.assertRaises(AssertionError, req.create_entity,
   423                               'EmailAddress', address=u'a@b.fr')
   423                               'EmailAddress', address=u'a@b.fr')
   424 
   424 
   425     def test_multiple_edit_set_attributes(self):
   425     def test_multiple_edit_set_attributes(self):
   426         """make sure edited_attributes doesn't get cluttered
   426         """make sure cw_edited doesn't get cluttered
   427         by previous entities on multiple set
   427         by previous entities on multiple set
   428         """
   428         """
   429         # local hook
   429         # local hook
   430         class DummyBeforeHook(Hook):
   430         class DummyBeforeHook(Hook):
   431             _test = self # keep reference to test instance
   431             _test = self # keep reference to test instance
   432             __regid__ = 'dummy-before-hook'
   432             __regid__ = 'dummy-before-hook'
   433             __select__ = Hook.__select__ & is_instance('Affaire')
   433             __select__ = Hook.__select__ & is_instance('Affaire')
   434             events = ('before_update_entity',)
   434             events = ('before_update_entity',)
   435             def __call__(self):
   435             def __call__(self):
   436                 # invoiced attribute shouldn't be considered "edited" before the hook
   436                 # invoiced attribute shouldn't be considered "edited" before the hook
   437                 self._test.failIf('invoiced' in self.entity.edited_attributes,
   437                 self._test.failIf('invoiced' in self.entity.cw_edited,
   438                                   'edited_attributes cluttered by previous update')
   438                                   'cw_edited cluttered by previous update')
   439                 self.entity['invoiced'] = 10
   439                 self.entity.cw_edited['invoiced'] = 10
   440         with self.temporary_appobjects(DummyBeforeHook):
   440         with self.temporary_appobjects(DummyBeforeHook):
   441             req = self.request()
   441             req = self.request()
   442             req.create_entity('Affaire', ref=u'AFF01')
   442             req.create_entity('Affaire', ref=u'AFF01')
   443             req.create_entity('Affaire', ref=u'AFF02')
   443             req.create_entity('Affaire', ref=u'AFF02')
   444             req.execute('SET A duration 10 WHERE A is Affaire')
   444             req.execute('SET A duration 10 WHERE A is Affaire')