server/test/unittest_repository.py
branchstable
changeset 9226 653f1d4a1101
parent 9130 0f1504a9fb51
child 9267 24d9b86dfa54
equal deleted inserted replaced
9225:4b81252fccdd 9226:653f1d4a1101
   555         with self.temporary_appobjects(DummyBeforeHook):
   555         with self.temporary_appobjects(DummyBeforeHook):
   556             req = self.request()
   556             req = self.request()
   557             req.create_entity('Affaire', ref=u'AFF01')
   557             req.create_entity('Affaire', ref=u'AFF01')
   558             req.create_entity('Affaire', ref=u'AFF02')
   558             req.create_entity('Affaire', ref=u'AFF02')
   559             req.execute('SET A duration 10 WHERE A is Affaire')
   559             req.execute('SET A duration 10 WHERE A is Affaire')
       
   560 
       
   561 
       
   562     def test_user_friendly_error(self):
       
   563         from cubicweb.entities.adapters import IUserFriendlyUniqueTogether
       
   564         class MyIUserFriendlyUniqueTogether(IUserFriendlyUniqueTogether):
       
   565             __select__ = IUserFriendlyUniqueTogether.__select__ & is_instance('Societe')
       
   566             def raise_user_exception(self):
       
   567                 raise ValidationError(self.entity.eid, {'hip': 'hop'})
       
   568 
       
   569         with self.temporary_appobjects(MyIUserFriendlyUniqueTogether):
       
   570             req = self.request()
       
   571             s = req.create_entity('Societe', nom=u'Logilab', type=u'ssll', cp=u'75013')
       
   572             self.commit()
       
   573             with self.assertRaises(ValidationError) as cm:
       
   574                 req.create_entity('Societe', nom=u'Logilab', type=u'ssll', cp=u'75013')
       
   575             self.assertEqual(cm.exception.errors, {'hip': 'hop'})
       
   576             self.rollback()
       
   577             req.create_entity('Societe', nom=u'Logilab', type=u'ssll', cp=u'31400')
       
   578             with self.assertRaises(ValidationError) as cm:
       
   579                 s.cw_set(cp=u'31400')
       
   580             self.assertEqual(cm.exception.entity, s.eid)
       
   581             self.assertEqual(cm.exception.errors, {'hip': 'hop'})
       
   582             self.rollback()
       
   583 
   560 
   584 
   561 class SchemaDeserialTC(CubicWebTC):
   585 class SchemaDeserialTC(CubicWebTC):
   562 
   586 
   563     appid = 'data-schemaserial'
   587     appid = 'data-schemaserial'
   564 
   588