diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/product/tests/test_seller.py | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/product/tests/test_seller.py')
| -rw-r--r-- | addons/product/tests/test_seller.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/addons/product/tests/test_seller.py b/addons/product/tests/test_seller.py new file mode 100644 index 00000000..e8e92afb --- /dev/null +++ b/addons/product/tests/test_seller.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.tests.common import TransactionCase + + +class TestSeller(TransactionCase): + + def setUp(self): + super(TestSeller, self).setUp() + self.product_service = self.env['product.product'].create({ + 'name': 'Virtual Home Staging', + }) + self.product_service.default_code = 'DEFCODE' + self.product_consu = self.env['product.product'].create({ + 'name': 'Boudin', + 'type': 'consu', + }) + self.product_consu.default_code = 'DEFCODE' + self.asustec = self.env['res.partner'].create({'name': 'Wood Corner'}) + self.camptocamp = self.env['res.partner'].create({'name': 'Azure Interior'}) + + def test_10_sellers(self): + self.product_service.write({'seller_ids': [ + (0, 0, {'name': self.asustec.id, 'product_code': 'ASUCODE'}), + (0, 0, {'name': self.camptocamp.id, 'product_code': 'C2CCODE'}), + ]}) + + default_code = self.product_service.code + self.assertEqual("DEFCODE", default_code, "Default code not used in product name") + + context_code = self.product_service\ + .with_context(partner_id=self.camptocamp.id)\ + .code + self.assertEqual('C2CCODE', context_code, "Partner's code not used in product name with context set") + + def test_20_sellers_company(self): + company_a = self.env.company + company_b = self.env['res.company'].create({ + 'name': 'Saucisson Inc.', + }) + self.product_consu.write({'seller_ids': [ + (0, 0, {'name': self.asustec.id, 'product_code': 'A', 'company_id': company_a.id}), + (0, 0, {'name': self.asustec.id, 'product_code': 'B', 'company_id': company_b.id}), + (0, 0, {'name': self.asustec.id, 'product_code': 'NO', 'company_id': False}), + ]}) + + names = self.product_consu.with_context( + partner_id=self.asustec.id, + ).name_get() + ref = set([x[1] for x in names]) + self.assertEqual(len(names), 3, "3 vendor references should have been found") + self.assertEqual(ref, {'[A] Boudin', '[B] Boudin', '[NO] Boudin'}, "Incorrect vendor reference list") + names = self.product_consu.with_context( + partner_id=self.asustec.id, + company_id=company_a.id, + ).name_get() + ref = set([x[1] for x in names]) + self.assertEqual(len(names), 2, "2 vendor references should have been found") + self.assertEqual(ref, {'[A] Boudin', '[NO] Boudin'}, "Incorrect vendor reference list") + names = self.product_consu.with_context( + partner_id=self.asustec.id, + company_id=company_b.id, + ).name_get() + ref = set([x[1] for x in names]) + self.assertEqual(len(names), 2, "2 vendor references should have been found") + self.assertEqual(ref, {'[B] Boudin', '[NO] Boudin'}, "Incorrect vendor reference list") |
