7 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
7 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
8 """ |
8 """ |
9 from socket import gethostname |
9 from socket import gethostname |
10 |
10 |
11 from logilab.common.testlib import unittest_main, TestCase |
11 from logilab.common.testlib import unittest_main, TestCase |
12 from cubicweb.devtools.testlib import CubicWebTC |
12 from cubicweb.devtools.testlib import CubicWebTC, MAILBOX |
13 |
13 |
14 from cubicweb.sobjects.notification import construct_message_id, parse_message_id |
14 from cubicweb.common.mail import construct_message_id, parse_message_id |
15 |
15 |
16 class MessageIdTC(TestCase): |
16 class MessageIdTC(TestCase): |
17 def test_base(self): |
17 def test_base(self): |
18 msgid1 = construct_message_id('testapp', 21) |
18 msgid1 = construct_message_id('testapp', 21) |
19 msgid2 = construct_message_id('testapp', 21) |
19 msgid2 = construct_message_id('testapp', 21) |
68 |
68 |
69 |
69 |
70 class StatusChangeViewsTC(CubicWebTC): |
70 class StatusChangeViewsTC(CubicWebTC): |
71 |
71 |
72 def test_status_change_view(self): |
72 def test_status_change_view(self): |
73 req = self.session |
73 req = self.session() |
74 u = self.create_user('toto', req=req) |
74 u = self.create_user('toto', req=req, commit=False) |
75 assert u.req |
75 u.fire_transition('deactivate', comment=u'yeah') |
76 assert u.rset |
76 self.failIf(MAILBOX) |
77 self.execute('SET X in_state S WHERE X eid %s, S name "deactivated"' % u.eid) |
77 self.commit() |
78 v = self.vreg['views'].select('notif_status_change', req, rset=u.rset, row=0) |
78 self.assertEquals(len(MAILBOX), 1) |
79 content = v.render(row=0, comment='yeah', |
79 email = MAILBOX[0] |
80 previous_state='activated', |
80 self.assertEquals(email.content, |
81 current_state='deactivated') |
|
82 # remove date |
|
83 self.assertEquals(content, |
|
84 ''' |
81 ''' |
85 admin changed status from <activated> to <deactivated> for entity |
82 admin changed status from <activated> to <deactivated> for entity |
86 'toto' |
83 'toto' |
87 |
84 |
88 yeah |
85 yeah |
89 |
86 |
90 url: http://testing.fr/cubicweb/cwuser/toto |
87 url: http://testing.fr/cubicweb/cwuser/toto |
91 ''') |
88 ''') |
92 self.assertEquals(v.subject(), 'status changed cwuser #%s (admin)' % u.eid) |
89 self.assertEquals(email.subject, 'status changed cwuser #%s (admin)' % u.eid) |
93 |
90 |
94 if __name__ == '__main__': |
91 if __name__ == '__main__': |
95 unittest_main() |
92 unittest_main() |