You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.6 KiB

  1. # -*- coding: utf-8 -*-
  2. # © 2017 Therp BV <http://therp.nl>
  3. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
  4. from odoo import fields
  5. from openerp.tests.common import TransactionCase
  6. class TestMailActivity(TransactionCase):
  7. def test_mail_activity(self):
  8. partner = self.env.ref('base.res_partner_address_1')
  9. activity = self.env['mail.activity'].with_context(
  10. default_res_model=partner._name,
  11. ).create({
  12. 'res_id': partner.id,
  13. 'activity_type_id': self.env.ref(
  14. 'mail_activity.mail_activity_data_meeting',
  15. ).id,
  16. 'date_deadline': fields.Date.today(),
  17. 'summary': 'Hello world',
  18. })
  19. self.assertEqual(activity.res_name, partner.display_name)
  20. self.assertEqual(activity.state, 'today')
  21. self.assertEqual(partner.activity_state, 'today')
  22. activity.write({'user_id': self.env.ref('base.user_demo').id})
  23. self.assertIn(
  24. partner,
  25. self.env['res.partner'].search([
  26. ('activity_user_id', '=', activity.user_id.id),
  27. ])
  28. )
  29. self.assertIn(
  30. partner,
  31. self.env['res.partner'].search([
  32. ('activity_summary', 'like', 'Hello world'),
  33. ])
  34. )
  35. activity.action_feedback('feedback')
  36. self.assertIn('feedback', partner.message_ids[:1].body)
  37. self.assertFalse(activity.exists())
  38. partner.unlink()
  39. self.assertFalse(self.env['mail.activity'].search([
  40. ('res_model', '=', 'res.partner'),
  41. ('res_id', '=', partner.id),
  42. ]))