sobjects/test/unittest_notification.py
changeset 2968 0e3460341023
parent 2773 b2530e3e0afb
parent 2920 64322aa83a1d
child 3428 d689ee586295
equal deleted inserted replaced
2902:dd9f2dd02f85 2968:0e3460341023
     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()