497 events = ('before_add_relation', 'after_add_relation', |
498 events = ('before_add_relation', 'after_add_relation', |
498 'before_delete_relation', 'after_delete_relation') |
499 'before_delete_relation', 'after_delete_relation') |
499 def __call__(self): |
500 def __call__(self): |
500 CALLED.append((self.event, self.eidfrom, self.rtype, self.eidto)) |
501 CALLED.append((self.event, self.eidfrom, self.rtype, self.eidto)) |
501 |
502 |
502 self.vreg.register(EcritParHook) |
503 with self.temporary_appobjects(EcritParHook): |
503 eidp = self.execute('INSERT Personne X: X nom "toto"')[0][0] |
504 eidp = self.execute('INSERT Personne X: X nom "toto"')[0][0] |
504 eidn = self.execute('INSERT Note X: X type "T"')[0][0] |
505 eidn = self.execute('INSERT Note X: X type "T"')[0][0] |
505 self.execute('SET N ecrit_par Y WHERE N type "T", Y nom "toto"') |
506 self.execute('SET N ecrit_par Y WHERE N type "T", Y nom "toto"') |
506 self.assertEquals(CALLED, [('before_add_relation', eidn, 'ecrit_par', eidp), |
507 self.assertEquals(CALLED, [('before_add_relation', eidn, 'ecrit_par', eidp), |
507 ('after_add_relation', eidn, 'ecrit_par', eidp)]) |
508 ('after_add_relation', eidn, 'ecrit_par', eidp)]) |
508 CALLED[:] = () |
509 CALLED[:] = () |
509 self.execute('DELETE N ecrit_par Y WHERE N type "T", Y nom "toto"') |
510 self.execute('DELETE N ecrit_par Y WHERE N type "T", Y nom "toto"') |
510 self.assertEquals(CALLED, [('before_delete_relation', eidn, 'ecrit_par', eidp), |
511 self.assertEquals(CALLED, [('before_delete_relation', eidn, 'ecrit_par', eidp), |
511 ('after_delete_relation', eidn, 'ecrit_par', eidp)]) |
512 ('after_delete_relation', eidn, 'ecrit_par', eidp)]) |
512 CALLED[:] = () |
513 CALLED[:] = () |
513 eidn = self.execute('INSERT Note N: N ecrit_par P WHERE P nom "toto"')[0][0] |
514 eidn = self.execute('INSERT Note N: N ecrit_par P WHERE P nom "toto"')[0][0] |
514 self.assertEquals(CALLED, [('before_add_relation', eidn, 'ecrit_par', eidp), |
515 self.assertEquals(CALLED, [('before_add_relation', eidn, 'ecrit_par', eidp), |
515 ('after_add_relation', eidn, 'ecrit_par', eidp)]) |
516 ('after_add_relation', eidn, 'ecrit_par', eidp)]) |
516 |
517 |
517 |
518 |
518 if __name__ == '__main__': |
519 if __name__ == '__main__': |
519 unittest_main() |
520 unittest_main() |