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/stock/tests/common.py | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/stock/tests/common.py')
| -rw-r--r-- | addons/stock/tests/common.py | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/addons/stock/tests/common.py b/addons/stock/tests/common.py new file mode 100644 index 00000000..e05394c3 --- /dev/null +++ b/addons/stock/tests/common.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- + +from odoo.tests import common + + +class TestStockCommon(common.SavepointCase): + @classmethod + def setUpClass(cls): + super(TestStockCommon, cls).setUpClass() + + cls.ProductObj = cls.env['product.product'] + cls.UomObj = cls.env['uom.uom'] + cls.PartnerObj = cls.env['res.partner'] + cls.ModelDataObj = cls.env['ir.model.data'] + cls.StockPackObj = cls.env['stock.move.line'] + cls.StockQuantObj = cls.env['stock.quant'] + cls.PickingObj = cls.env['stock.picking'] + cls.MoveObj = cls.env['stock.move'] + cls.InvObj = cls.env['stock.inventory'] + cls.InvLineObj = cls.env['stock.inventory.line'] + cls.LotObj = cls.env['stock.production.lot'] + + # Model Data + cls.picking_type_in = cls.ModelDataObj.xmlid_to_res_id('stock.picking_type_in') + cls.picking_type_out = cls.ModelDataObj.xmlid_to_res_id('stock.picking_type_out') + cls.supplier_location = cls.ModelDataObj.xmlid_to_res_id('stock.stock_location_suppliers') + cls.stock_location = cls.ModelDataObj.xmlid_to_res_id('stock.stock_location_stock') + pack_location = cls.env.ref('stock.location_pack_zone') + pack_location.active = True + cls.pack_location = pack_location.id + output_location = cls.env.ref('stock.stock_location_output') + output_location.active = True + cls.output_location = output_location.id + cls.customer_location = cls.ModelDataObj.xmlid_to_res_id('stock.stock_location_customers') + cls.categ_unit = cls.ModelDataObj.xmlid_to_res_id('uom.product_uom_categ_unit') + cls.categ_kgm = cls.ModelDataObj.xmlid_to_res_id('uom.product_uom_categ_kgm') + + # Product Created A, B, C, D + cls.productA = cls.ProductObj.create({'name': 'Product A', 'type': 'product'}) + cls.productB = cls.ProductObj.create({'name': 'Product B', 'type': 'product'}) + cls.productC = cls.ProductObj.create({'name': 'Product C', 'type': 'product'}) + cls.productD = cls.ProductObj.create({'name': 'Product D', 'type': 'product'}) + cls.productE = cls.ProductObj.create({'name': 'Product E', 'type': 'product'}) + + # Configure unit of measure. + cls.uom_kg = cls.env['uom.uom'].search([('category_id', '=', cls.categ_kgm), ('uom_type', '=', 'reference')], limit=1) + cls.uom_kg.write({ + 'name': 'Test-KG', + 'rounding': 0.000001}) + cls.uom_tone = cls.UomObj.create({ + 'name': 'Test-Tone', + 'category_id': cls.categ_kgm, + 'uom_type': 'bigger', + 'factor_inv': 1000.0, + 'rounding': 0.001}) + cls.uom_gm = cls.UomObj.create({ + 'name': 'Test-G', + 'category_id': cls.categ_kgm, + 'uom_type': 'smaller', + 'factor': 1000.0, + 'rounding': 0.001}) + cls.uom_mg = cls.UomObj.create({ + 'name': 'Test-MG', + 'category_id': cls.categ_kgm, + 'uom_type': 'smaller', + 'factor': 100000.0, + 'rounding': 0.001}) + # Check Unit + cls.uom_unit = cls.env['uom.uom'].search([('category_id', '=', cls.categ_unit), ('uom_type', '=', 'reference')], limit=1) + cls.uom_unit.write({ + 'name': 'Test-Unit', + 'rounding': 1.0}) + cls.uom_dozen = cls.UomObj.create({ + 'name': 'Test-DozenA', + 'category_id': cls.categ_unit, + 'factor_inv': 12, + 'uom_type': 'bigger', + 'rounding': 0.001}) + cls.uom_sdozen = cls.UomObj.create({ + 'name': 'Test-SDozenA', + 'category_id': cls.categ_unit, + 'factor_inv': 144, + 'uom_type': 'bigger', + 'rounding': 0.001}) + cls.uom_sdozen_round = cls.UomObj.create({ + 'name': 'Test-SDozenA Round', + 'category_id': cls.categ_unit, + 'factor_inv': 144, + 'uom_type': 'bigger', + 'rounding': 1.0}) + + # Product for different unit of measure. + cls.DozA = cls.ProductObj.create({'name': 'Dozon-A', 'type': 'product', 'uom_id': cls.uom_dozen.id, 'uom_po_id': cls.uom_dozen.id}) + cls.SDozA = cls.ProductObj.create({'name': 'SuperDozon-A', 'type': 'product', 'uom_id': cls.uom_sdozen.id, 'uom_po_id': cls.uom_sdozen.id}) + cls.SDozARound = cls.ProductObj.create({'name': 'SuperDozenRound-A', 'type': 'product', 'uom_id': cls.uom_sdozen_round.id, 'uom_po_id': cls.uom_sdozen_round.id}) + cls.UnitA = cls.ProductObj.create({'name': 'Unit-A', 'type': 'product'}) + cls.kgB = cls.ProductObj.create({'name': 'kg-B', 'type': 'product', 'uom_id': cls.uom_kg.id, 'uom_po_id': cls.uom_kg.id}) + cls.gB = cls.ProductObj.create({'name': 'g-B', 'type': 'product', 'uom_id': cls.uom_gm.id, 'uom_po_id': cls.uom_gm.id}) |
