|
7 | 7 |
|
8 | 8 |
|
9 | 9 | class TestMessageReply(TransactionCase): |
10 | | - def test_reply(self): |
| 10 | + def test_quoted_reply(self): |
11 | 11 | partner = self.env["res.partner"].create({"name": "demo partner"}) |
12 | 12 | self.assertFalse( |
13 | 13 | partner.message_ids.filtered(lambda r: r.message_type != "notification") |
@@ -44,3 +44,42 @@ def test_reply(self): |
44 | 44 | ) |
45 | 45 | self.assertTrue(new_message) |
46 | 46 | self.assertEqual(1, len(new_message)) |
| 47 | + |
| 48 | + def test_unquoted_reply(self): |
| 49 | + partner = self.env["res.partner"].create({"name": "demo partner"}) |
| 50 | + self.assertFalse( |
| 51 | + partner.message_ids.filtered(lambda r: r.message_type != "notification") |
| 52 | + ) |
| 53 | + # pylint: disable=C8107 |
| 54 | + message = partner.message_post( |
| 55 | + body="demo message", |
| 56 | + message_type="email", |
| 57 | + partner_ids=self.env.ref("base.partner_admin").ids, |
| 58 | + ) |
| 59 | + partner.invalidate_recordset() |
| 60 | + self.assertIn( |
| 61 | + message, |
| 62 | + partner.message_ids.filtered(lambda r: r.message_type != "notification"), |
| 63 | + ) |
| 64 | + self.assertFalse( |
| 65 | + partner.message_ids.filtered( |
| 66 | + lambda r: r.message_type != "notification" and r != message |
| 67 | + ) |
| 68 | + ) |
| 69 | + action = message.reply_message() |
| 70 | + action["context"]["is_quoted_reply"] = False |
| 71 | + wizard = ( |
| 72 | + self.env[action["res_model"]].with_context(**action["context"]).create({}) |
| 73 | + ) |
| 74 | + self.assertTrue(wizard.partner_ids) |
| 75 | + self.assertEqual(message.email_from, wizard.partner_ids.email_formatted) |
| 76 | + # the onchange in the composer isn't triggered in tests, so we check for the |
| 77 | + # correct quote in the context |
| 78 | + email_quote = re.search("<p>.*?</p>", wizard.env.context["quote_body"]).group() |
| 79 | + self.assertEqual("<p>demo message</p>", email_quote) |
| 80 | + wizard.action_send_mail() |
| 81 | + new_message = partner.message_ids.filtered( |
| 82 | + lambda r: r.message_type != "notification" and r != message |
| 83 | + ) |
| 84 | + self.assertTrue(new_message) |
| 85 | + self.assertEqual(1, len(new_message)) |
0 commit comments