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.
|
|
# Copyright (C) 2015 Therp BV <http://therp.nl> # Copyright (C) 2017 Komit <http://www.komit-consulting.com> # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from lxml import etree from odoo.tests.common import TransactionCase
class TestMailRestrictFollowerSelection(TransactionCase):
def setUp(self): super().setUp() self.partner = self.env['res.partner'].create({ 'name': 'Partner', 'customer': True, 'email': 'test@test.com', })
def test_fields_view_get(self): result = self.env['mail.wizard.invite'].fields_view_get( view_type='form') for field in etree.fromstring(result['arch']).xpath( '//field[@name="partner_ids"]'): self.assertTrue(field.get('domain'))
def send_action(self): compose = self.env['mail.compose.message'].with_context({ 'mail_post_autofollow': True, 'default_composition_mode': 'comment', 'default_model': 'res.partner', 'default_use_active_domain': True, }).create({ 'subject': 'From Composer Test', 'body': '${object.description}', 'res_id': self.partner.id, 'partner_ids': [(4, id) for id in self.partner.ids], }) self.assertEqual(compose.partner_ids, self.partner) compose.send_mail_action()
def test_followers_meet(self): self.partner.write({'customer': True}) self.assertTrue(self.partner.customer) self.send_action() self.assertIn( self.partner, self.partner.message_follower_ids.mapped('partner_id') )
def test_followers_not_meet(self): self.partner.write({'customer': False}) self.assertFalse(self.partner.customer) self.send_action() self.assertNotIn( self.partner, self.partner.message_follower_ids.mapped('partner_id') )
|