1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # -*- coding: utf-8 -*-
- # Part of Odoo. See LICENSE file for full copyright and licensing details.
- from odoo.tests.common import TransactionCase
- from odoo.tests.common import new_test_user
- class TestResPartner(TransactionCase):
- def test_meeting_count(self):
- test_user = new_test_user(self.env, login='test_user', groups='base.group_user, base.group_partner_manager')
- Partner = self.env['res.partner'].with_user(test_user)
- Event = self.env['calendar.event'].with_user(test_user)
- # Partner hierarchy
- # 1 5
- # /|
- # 2 3
- # |
- # 4
- test_partner_1 = Partner.create({'name': 'test_partner_1'})
- test_partner_2 = Partner.create({'name': 'test_partner_2', 'parent_id': test_partner_1.id})
- test_partner_3 = Partner.create({'name': 'test_partner_3', 'parent_id': test_partner_1.id})
- test_partner_4 = Partner.create({'name': 'test_partner_4', 'parent_id': test_partner_3.id})
- test_partner_5 = Partner.create({'name': 'test_partner_5'})
- Event.create({'name': 'event_1',
- 'partner_ids': [(6, 0, [test_partner_1.id,
- test_partner_2.id,
- test_partner_3.id,
- test_partner_4.id])]})
- Event.create({'name': 'event_2',
- 'partner_ids': [(6, 0, [test_partner_1.id,
- test_partner_3.id])]})
- Event.create({'name': 'event_2',
- 'partner_ids': [(6, 0, [test_partner_2.id,
- test_partner_3.id])]})
- Event.create({'name': 'event_3',
- 'partner_ids': [(6, 0, [test_partner_3.id,
- test_partner_4.id])]})
- Event.create({'name': 'event_4',
- 'partner_ids': [(6, 0, [test_partner_1.id])]})
- Event.create({'name': 'event_5',
- 'partner_ids': [(6, 0, [test_partner_3.id])]})
- Event.create({'name': 'event_6',
- 'partner_ids': [(6, 0, [test_partner_4.id])]})
- Event.create({'name': 'event_7',
- 'partner_ids': [(6, 0, [test_partner_5.id])]})
- Event.create({'name': 'event_8',
- 'partner_ids': [(6, 0, [test_partner_5.id])]})
- #Test rule to see if ir.rules are applied
- calendar_event_model_id = self.env['ir.model']._get('calendar.event').id
- self.env['ir.rule'].create({'name': 'test_rule',
- 'model_id': calendar_event_model_id,
- 'domain_force': [('name', 'not in', ['event_9', 'event_10'])],
- 'perm_read': True,
- 'perm_create': False,
- 'perm_write': False})
- Event.create({'name': 'event_9',
- 'partner_ids': [(6, 0, [test_partner_2.id,
- test_partner_3.id])]})
- Event.create({'name': 'event_10',
- 'partner_ids': [(6, 0, [test_partner_5.id])]})
- self.assertEqual(test_partner_1.meeting_count, 7)
- self.assertEqual(test_partner_2.meeting_count, 2)
- self.assertEqual(test_partner_3.meeting_count, 6)
- self.assertEqual(test_partner_4.meeting_count, 3)
- self.assertEqual(test_partner_5.meeting_count, 2)
|