summaryrefslogtreecommitdiff
path: root/addons/stock/tests/common.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/stock/tests/common.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/stock/tests/common.py')
-rw-r--r--addons/stock/tests/common.py98
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})