sobjects/test/unittest_notification.py
branch3.5
changeset 2920 64322aa83a1d
parent 2650 18aec79ec3a3
child 2968 0e3460341023
child 4212 ab6573088b4a
equal deleted inserted replaced
2919:662f35236d1c 2920:64322aa83a1d
     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.apptest import EnvBasedTC
    12 from cubicweb.devtools.apptest import EnvBasedTC, 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)
    69 
    69 
    70 class StatusChangeViewsTC(EnvBasedTC):
    70 class StatusChangeViewsTC(EnvBasedTC):
    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) XXX in cw 3.6, and remove set_pool
    75         assert u.req
    75         req.set_pool()
    76         assert u.rset
    76         u.fire_transition('deactivate', comment=u'yeah')
    77         self.execute('SET X in_state S WHERE X eid %s, S name "deactivated"' % u.eid)
    77         self.failIf(MAILBOX)
    78         v = self.vreg['views'].select('notif_status_change', req, rset=u.rset, row=0)
    78         self.commit()
    79         content = v.render(row=0, comment='yeah',
    79         self.assertEquals(len(MAILBOX), 1)
    80                            previous_state='activated',
    80         email = MAILBOX[0]
    81                            current_state='deactivated')
    81         self.assertEquals(email.content,
    82         # remove date
       
    83         self.assertEquals(content,
       
    84                           '''
    82                           '''
    85 admin changed status from <activated> to <deactivated> for entity
    83 admin changed status from <activated> to <deactivated> for entity
    86 'toto'
    84 'toto'
    87 
    85 
    88 yeah
    86 yeah
    89 
    87 
    90 url: http://testing.fr/cubicweb/cwuser/toto
    88 url: http://testing.fr/cubicweb/cwuser/toto
    91 ''')
    89 ''')
    92         self.assertEquals(v.subject(), 'status changed cwuser #%s (admin)' % u.eid)
    90         self.assertEquals(email.subject, 'status changed cwuser #%s (admin)' % u.eid)
    93 
    91 
    94 if __name__ == '__main__':
    92 if __name__ == '__main__':
    95     unittest_main()
    93     unittest_main()