[FIX] stock_landed_costs: correct rounding tests
Previous forward-port (17b6191a02) includes new tests (added byeb26694e0f) which are now broken because quants with a cost of zero are forbidden. Force a standard_price on created product to avoid this situation. Adapt quants cost values. Also change references of accounts and journals on records.
This commit is contained in:
@@ -13,19 +13,21 @@
|
|||||||
-
|
-
|
||||||
!record {model: product.product, id: product_landed_cost_3}:
|
!record {model: product.product, id: product_landed_cost_3}:
|
||||||
name: "LC product 3"
|
name: "LC product 3"
|
||||||
|
standard_price: 10
|
||||||
cost_method: real
|
cost_method: real
|
||||||
uom_id: product_uom_unit_round_1
|
uom_id: product_uom_unit_round_1
|
||||||
valuation: real_time
|
valuation: real_time
|
||||||
property_stock_account_input: account.o_expense
|
property_stock_account_input: o_expense
|
||||||
property_stock_account_output: account.o_income
|
property_stock_account_output: o_income
|
||||||
-
|
-
|
||||||
!record {model: product.product, id: product_landed_cost_4}:
|
!record {model: product.product, id: product_landed_cost_4}:
|
||||||
name: "LC product 4"
|
name: "LC product 4"
|
||||||
|
standard_price: 8
|
||||||
cost_method: real
|
cost_method: real
|
||||||
uom_id: product_uom_unit_round_1
|
uom_id: product_uom_unit_round_1
|
||||||
valuation: real_time
|
valuation: real_time
|
||||||
property_stock_account_input: account.o_expense
|
property_stock_account_input: o_expense
|
||||||
property_stock_account_output: account.o_income
|
property_stock_account_output: o_income
|
||||||
-
|
-
|
||||||
I create 2 pickings moving those products
|
I create 2 pickings moving those products
|
||||||
-
|
-
|
||||||
@@ -37,8 +39,6 @@
|
|||||||
product_id: product_landed_cost_3
|
product_id: product_landed_cost_3
|
||||||
product_uom_qty: 13
|
product_uom_qty: 13
|
||||||
product_uom: product_uom_unit_round_1
|
product_uom: product_uom_unit_round_1
|
||||||
product_uos_qty: 13
|
|
||||||
product_uos: product_uom_unit_round_1
|
|
||||||
location_id: stock.stock_location_customers
|
location_id: stock.stock_location_customers
|
||||||
location_dest_id: stock.stock_location_stock
|
location_dest_id: stock.stock_location_stock
|
||||||
-
|
-
|
||||||
@@ -50,8 +50,6 @@
|
|||||||
product_id: product_landed_cost_4
|
product_id: product_landed_cost_4
|
||||||
product_uom_qty: 1
|
product_uom_qty: 1
|
||||||
product_uom: product.product_uom_dozen
|
product_uom: product.product_uom_dozen
|
||||||
product_uos_qty: 1
|
|
||||||
product_uos: product.product_uom_dozen
|
|
||||||
location_id: stock.stock_location_customers
|
location_id: stock.stock_location_customers
|
||||||
location_dest_id: stock.stock_location_stock
|
location_dest_id: stock.stock_location_stock
|
||||||
price_unit: !eval 17.00/12.00
|
price_unit: !eval 17.00/12.00
|
||||||
@@ -69,13 +67,13 @@
|
|||||||
quants = pick.move_lines.quant_ids
|
quants = pick.move_lines.quant_ids
|
||||||
assert len(quants) == 1
|
assert len(quants) == 1
|
||||||
assert quants.qty == 13
|
assert quants.qty == 13
|
||||||
assert quants.cost == 0.0
|
assert quants.cost == 10.0
|
||||||
-
|
-
|
||||||
I create a landed cost for picking 3
|
I create a landed cost for picking 3
|
||||||
-
|
-
|
||||||
!record {model: stock.landed.cost, id: stock_landed_cost_2}:
|
!record {model: stock.landed.cost, id: stock_landed_cost_2}:
|
||||||
picking_ids: [picking_landed_cost_3]
|
picking_ids: [picking_landed_cost_3]
|
||||||
account_journal_id: account.expenses_journal
|
account_journal_id: expenses_journal
|
||||||
cost_lines:
|
cost_lines:
|
||||||
- name: 'equal split'
|
- name: 'equal split'
|
||||||
split_method: 'equal'
|
split_method: 'equal'
|
||||||
@@ -113,7 +111,7 @@
|
|||||||
for valuation in landed_cost.valuation_adjustment_lines:
|
for valuation in landed_cost.valuation_adjustment_lines:
|
||||||
quants = valuation.move_id.quant_ids
|
quants = valuation.move_id.quant_ids
|
||||||
assert quants.mapped('qty') == [12.0, 1.0]
|
assert quants.mapped('qty') == [12.0, 1.0]
|
||||||
assert quants.mapped('cost') == [1.15, 1.2]
|
assert quants.mapped('cost') == [11.15, 11.2]
|
||||||
-
|
-
|
||||||
We perform all the tests for LC_pick_4
|
We perform all the tests for LC_pick_4
|
||||||
-
|
-
|
||||||
@@ -126,15 +124,15 @@
|
|||||||
|
|
||||||
pick = self.browse(cr, uid, [ref("picking_landed_cost_4")], context=context)
|
pick = self.browse(cr, uid, [ref("picking_landed_cost_4")], context=context)
|
||||||
quants = pick.move_lines.quant_ids
|
quants = pick.move_lines.quant_ids
|
||||||
assert len(quants) == 2
|
assert len(quants) == 1
|
||||||
assert quants.mapped('qty') == [11.0, 1.0]
|
assert quants.mapped('qty') == [12.0]
|
||||||
assert [round(c, 2) for c in quants.mapped('cost')] == [1.42, 1.38]
|
assert [round(c, 2) for c in quants.mapped('cost')] == [8.0]
|
||||||
-
|
-
|
||||||
I create a landed cost for picking 4
|
I create a landed cost for picking 4
|
||||||
-
|
-
|
||||||
!record {model: stock.landed.cost, id: stock_landed_cost_3}:
|
!record {model: stock.landed.cost, id: stock_landed_cost_3}:
|
||||||
picking_ids: [picking_landed_cost_4]
|
picking_ids: [picking_landed_cost_4]
|
||||||
account_journal_id: account.expenses_journal
|
account_journal_id: expenses_journal
|
||||||
cost_lines:
|
cost_lines:
|
||||||
- name: 'equal split'
|
- name: 'equal split'
|
||||||
split_method: 'equal'
|
split_method: 'equal'
|
||||||
@@ -172,4 +170,4 @@
|
|||||||
for valuation in landed_cost.valuation_adjustment_lines:
|
for valuation in landed_cost.valuation_adjustment_lines:
|
||||||
quants = valuation.move_id.quant_ids
|
quants = valuation.move_id.quant_ids
|
||||||
assert quants.mapped('qty') == [11.0, 1.0]
|
assert quants.mapped('qty') == [11.0, 1.0]
|
||||||
assert [round(c, 2) for c in quants.mapped('cost')] == [2.34, 2.26]
|
assert [round(c, 2) for c in quants.mapped('cost')] == [8.92, 8.88]
|
||||||
|
|||||||
Reference in New Issue
Block a user