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.

67 lines
2.3 KiB

  1. # Copyright 2018 Onestein
  2. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
  3. from odoo.tests.common import TransactionCase
  4. class TestAttachingByLanguage(TransactionCase):
  5. def setUp(self):
  6. super().setUp()
  7. self.english_partner = self.env['res.partner'].create({
  8. 'name': 'English Partner',
  9. 'email': 'test@english.nl',
  10. 'lang': 'en_US'
  11. })
  12. self.dutch_partner = self.env['res.partner'].create({
  13. 'name': 'Dutch Partner',
  14. 'email': 'test@dutch.nl',
  15. 'lang': False
  16. })
  17. self.attachment = self.env['ir.attachment'].create({
  18. 'name': 'File',
  19. 'type': 'binary'
  20. })
  21. self.template = self.env['mail.template'].create({
  22. 'name': 'Test',
  23. 'model_id': self.env['ir.model'].search(
  24. [('model', '=', 'sale.order')]).id,
  25. 'ir_attachment_language_ids': [(0, False, {
  26. 'attachment_id': self.attachment.id,
  27. 'lang': 'en_US'
  28. })],
  29. 'attachment_ids': [(0, False, {
  30. 'name': 'File 2',
  31. 'type': 'binary'
  32. })],
  33. 'lang': '${object.partner_id.lang}',
  34. 'email_to': '${object.partner_id.email}',
  35. 'body_html': 'Test'
  36. })
  37. def test_attaching(self):
  38. sale_order = self.env['sale.order'].create({
  39. 'partner_id': self.english_partner.id,
  40. })
  41. res = self.env['mail.compose.message'].create({
  42. 'model': 'sale.order',
  43. 'res_id': sale_order.id,
  44. 'email_to': ['test@english.nl'],
  45. 'use_template': True,
  46. 'template_id': self.template.id
  47. })
  48. res.onchange_template_id_wrapper()
  49. self.assertEqual(len(res.attachment_ids), 2)
  50. def test_not_attaching(self):
  51. sale_order = self.env['sale.order'].create({
  52. 'partner_id': self.dutch_partner.id,
  53. })
  54. res = self.env['mail.compose.message'].create({
  55. 'model': 'sale.order',
  56. 'res_id': sale_order.id,
  57. 'email_to': ['test@dutch.nl'],
  58. 'use_template': True,
  59. 'template_id': self.template.id
  60. })
  61. res.onchange_template_id_wrapper()
  62. self.assertEqual(len(res.attachment_ids), 1)