94 lines
4.0 KiB
YAML
94 lines
4.0 KiB
YAML
-
|
|
In order to test the inventory, I create a new product
|
|
-
|
|
!record {model: product.product, id: inventory_product}:
|
|
name: inventory prod
|
|
type: product
|
|
-
|
|
I create an inventory for this product only
|
|
-
|
|
!record {model: stock.inventory, id: inventory_test0}:
|
|
name: Test
|
|
filter: product
|
|
product_id: inventory_product
|
|
-
|
|
I confirm the inventory and check that my inventory has no line, as the product is a new one.
|
|
-
|
|
!python {model: stock.inventory}: |
|
|
self.prepare_inventory(cr, uid, [ref('inventory_test0')], context=context)
|
|
inv = self.browse(cr, uid, ref('inventory_test0'), context=context)
|
|
assert len(inv.line_ids) == 0, "Wrong number of inventory lines."
|
|
-
|
|
I add an inventory line and say i have 10 products in stock
|
|
-
|
|
!record {model: stock.inventory.line, id: inventory_testline0}:
|
|
inventory_id: stock.inventory_test0
|
|
product_uom_id: product.product_uom_unit
|
|
product_id: inventory_product
|
|
product_qty: 10
|
|
location_id: stock.stock_location_14
|
|
-
|
|
I Validate this inventory
|
|
-
|
|
!python {model: stock.inventory}: |
|
|
self.action_done(cr, uid, [ref('inventory_test0')], context=context)
|
|
-
|
|
I check that this inventory has a stock.move and a quant
|
|
-
|
|
!python {model: stock.inventory}: |
|
|
inv = self.browse(cr, uid, ref('inventory_test0'), context=context)
|
|
assert len(inv.move_ids) >= 1, "No move created for the inventory."
|
|
assert len(inv.move_ids[0].quant_ids) >= 1, "No quant created for this inventory"
|
|
-
|
|
I check that the quantity on hand is 10 on the location and its parent.
|
|
-
|
|
!python {model: product.product}: |
|
|
context['location'] = ref('stock.stock_location_14')
|
|
product = self.browse(cr, uid, ref('inventory_product'), context=context)
|
|
assert product.qty_available == 10, 'Expecting 10 products, got %.2f on location stock_location_14!' % (product.qty_available,)
|
|
context['location'] = ref('stock.stock_location_stock')
|
|
product = self.browse(cr, uid, ref('inventory_product'), context=context)
|
|
assert product.qty_available == 10, 'Expecting 10 products, got %.2f on location stock_location_stock!' % (product.qty_available,)
|
|
-
|
|
I check that the quantity on hand is 0 on a brother location
|
|
-
|
|
!python {model: product.product}: |
|
|
context['location'] = ref('stock.stock_location_components')
|
|
product = self.browse(cr, uid, ref('inventory_product'), context=context)
|
|
assert product.qty_available == 0, 'Expecting 0 products, got %.2f on location stock_location_components!' % (product.qty_available,)
|
|
-
|
|
I create another inventory
|
|
-
|
|
!record {model: stock.inventory, id: inventory_test1}:
|
|
name: second test inventory
|
|
filter: product
|
|
product_id: inventory_product
|
|
-
|
|
I confirm the inventory and check that my inventory has one line, with a quantity of 10.
|
|
-
|
|
!python {model: stock.inventory}: |
|
|
self.prepare_inventory(cr, uid, [ref('inventory_test1')], context=context)
|
|
inv = self.browse(cr, uid, ref('inventory_test1'), context=context)
|
|
assert inv.line_ids and len(inv.line_ids) == 1, "Wrong number of inventory lines."
|
|
assert inv.line_ids[0].product_qty == 10, "Wrong quantity in inventory line."
|
|
assert inv.line_ids[0].product_id.id == ref('inventory_product'), "Wrong product in inventory line."
|
|
-
|
|
I modify the inventory line and set the quantity to 20 product on this new inventory
|
|
-
|
|
!python {model: stock.inventory}: |
|
|
inv = self.browse(cr, uid, ref('inventory_test1'), context=context)
|
|
self.pool.get('stock.inventory.line').write(cr, uid, inv.line_ids[0].id, {'product_qty': 20})
|
|
-
|
|
I Validate this inventory
|
|
-
|
|
!python {model: stock.inventory}: |
|
|
self.action_done(cr, uid, [ref('inventory_test1')], context=context)
|
|
-
|
|
I check that the quantity on hand is 20 on the location and it's parent.
|
|
-
|
|
!python {model: product.product}: |
|
|
context['location'] = ref('stock.stock_location_14')
|
|
product = self.browse(cr, uid, ref('inventory_product'), context=context)
|
|
assert product.qty_available == 20, 'Expecting 20 products, got %.2f on location stock_location_14!' % (product.qty_available,)
|
|
|