diff -r 000000000000 -r b97547f5f1fa sobjects/test/unittest_email.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sobjects/test/unittest_email.py Wed Nov 05 15:52:50 2008 +0100 @@ -0,0 +1,29 @@ +from cubicweb.devtools.apptest import EnvBasedTC + +class EmailAddressHooksTC(EnvBasedTC): + + def test_use_email_set_primary_email(self): + self.execute('INSERT EmailAddress X: X address "admin@logilab.fr", U use_email X WHERE U login "admin"') + self.assertEquals(self.execute('Any A WHERE U primary_email X, U login "admin", X address A').rows, + []) + self.commit() + self.assertEquals(self.execute('Any A WHERE U primary_email X, U login "admin", X address A')[0][0], + 'admin@logilab.fr') + # having another email should'nt change anything + self.execute('INSERT EmailAddress X: X address "a@logilab.fr", U use_email X WHERE U login "admin"') + self.commit() + self.assertEquals(self.execute('Any A WHERE U primary_email X, U login "admin", X address A')[0][0], + 'admin@logilab.fr') + + def test_primary_email_set_use_email(self): + self.execute('INSERT EmailAddress X: X address "admin@logilab.fr", U primary_email X WHERE U login "admin"') + self.assertEquals(self.execute('Any A WHERE U use_email X, U login "admin", X address A').rows, + []) + self.commit() + self.assertEquals(self.execute('Any A WHERE U use_email X, U login "admin", X address A')[0][0], + 'admin@logilab.fr') + + +if __name__ == '__main__': + from logilab.common.testlib import unittest_main + unittest_main()