56 lines
2.5 KiB
Python
56 lines
2.5 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
|
|
from odoo.tests import Form
|
|
from odoo.addons.base.tests.common import SavepointCaseWithUserDemo
|
|
|
|
|
|
class TestDuplicatePartnerBank(SavepointCaseWithUserDemo):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
|
|
cls.company_a = cls.env['res.company'].create({"name": "companyA"})
|
|
cls.user_a = cls.env['res.users'].with_company(cls.company_a).create({"name": "userA", "login": "test@test.com"})
|
|
cls.partner_a = cls.env['res.partner'].with_user(cls.user_a).create({"name": "PartnerA", "company_id": cls.company_a.id})
|
|
cls.partner_bank_a = cls.env['res.partner.bank'].with_user(cls.user_a).create({"acc_number": "12345", "partner_id": cls.partner_a.id})
|
|
|
|
cls.company_b = cls.env['res.company'].create({"name": "companyB"})
|
|
cls.user_b = cls.env['res.users'].with_company(cls.company_b).create({"name": "userB", "login": "test1@test.com"})
|
|
cls.partner_b = cls.env['res.partner'].with_user(cls.user_b).create({"name": "PartnerB", "company_id": cls.company_b.id})
|
|
cls.partner_bank_b = cls.env['res.partner.bank'].with_user(cls.user_b).create({"acc_number": "12345", "partner_id": cls.partner_b.id})
|
|
|
|
def test_duplicate_acc_number_different_company(self):
|
|
self.assertFalse(self.partner_bank_b.duplicate_bank_partner_ids)
|
|
|
|
def test_duplicate_acc_number_no_company(self):
|
|
self.partner_a.company_id = False
|
|
self.partner_bank_a.company_id = False
|
|
self.partner_b.company_id = False
|
|
self.partner_bank_b.company_id = False
|
|
self.assertTrue(self.partner_bank_a.duplicate_bank_partner_ids, self.partner_a)
|
|
|
|
def test_duplicate_acc_number_b_company(self):
|
|
self.partner_a.company_id = False
|
|
self.partner_bank_a.company_id = False
|
|
self.assertTrue(self.partner_bank_b.duplicate_bank_partner_ids, self.partner_a)
|
|
|
|
def test_remove_bank_account_from_partner(self):
|
|
bank = self.env['res.bank'].create({'name': 'SBI Bank'})
|
|
self.partner_bank_a.write({
|
|
'acc_number': '99999',
|
|
'bank_id': bank.id,
|
|
})
|
|
|
|
self.assertEqual(len(self.partner_a.bank_ids), 1)
|
|
|
|
with Form(self.partner_a) as partner_form:
|
|
partner_form.bank_ids.remove(0)
|
|
|
|
self.assertEqual(len(self.partner_a.bank_ids), 0)
|
|
|
|
def test_duplicate_acc_number_inactive_bank_account(self):
|
|
self.partner_bank_b.active = False
|
|
self.assertFalse(self.partner_bank_a.duplicate_bank_partner_ids)
|