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.

63 lines
2.4 KiB

  1. # Copyright 2018,2020 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
  2. # Copyright 2018 Kolushov Alexandr <https://it-projects.info/team/KolushovAlexandr>
  3. # License MIT (https://opensource.org/licenses/MIT).
  4. # License OPL-1 (https://www.odoo.com/documentation/user/13.0/legal/licenses/licenses.html#odoo-apps) for derivative work.
  5. from odoo.tools import mute_logger
  6. from odoo.addons.test_mail.data.test_mail_data import MAIL_TEMPLATE
  7. from odoo.addons.test_mail.tests.test_mail_mail import TestMail
  8. # TODO: Shall we use TestMailgateway class instead?
  9. class TestFetch(TestMail):
  10. at_install = True
  11. post_install = True
  12. def setUp(self):
  13. super(TestFetch, self).setUp()
  14. self.email_from = '"Sylvie Lelitre" <test.sylvie.lelitre@agrolait.com>'
  15. self.website = self.env["website"].create(
  16. {"name": "Test Website", "domain": "example.com"}
  17. )
  18. self.company = self.env["res.company"].create({"name": "New Test Website"})
  19. self.website.company_id = self.company
  20. # copy-paste from mail.tests.test_mail_gateway
  21. mail_test_model = self.env["ir.model"]._get("mail.test.simple")
  22. # groups@.. will cause the creation of new mail.test.simple
  23. self.alias = self.env["mail.alias"].create(
  24. {
  25. "alias_name": "groups",
  26. "alias_user_id": False,
  27. "alias_model_id": mail_test_model.id,
  28. "alias_contact": "everyone",
  29. }
  30. )
  31. @mute_logger("odoo.addons.mail.models.mail_thread", "odoo.models")
  32. def test_fetch_multi_website(self):
  33. """ Incoming email on an alias creating a new record + message_new + message details """
  34. new_groups = self.format_and_process(
  35. MAIL_TEMPLATE,
  36. self.email_from,
  37. "groups@example.com",
  38. subject="My Frogs",
  39. target_model="mail.test.simple",
  40. )
  41. # Test: one group created by mailgateway administrator
  42. self.assertEqual(
  43. len(new_groups),
  44. 1,
  45. "message_process: a new mail.test should have been created",
  46. )
  47. self.assertEqual(
  48. new_groups.website_id,
  49. self.website,
  50. "New record is created with wrong website",
  51. )
  52. self.assertEqual(
  53. new_groups.company_id,
  54. self.company,
  55. "New record is created with wrong company",
  56. )