summaryrefslogtreecommitdiff
path: root/addons/mrp_subcontracting_account/tests
diff options
context:
space:
mode:
authorArnold Moyaux <arm@odoo.com>2019-08-14 13:56:15 +0000
committerArnold Moyaux <arm@odoo.com>2019-08-19 15:03:59 +0000
commit5d809fd6b48008711b494d887fc97ca60635587b (patch)
treeeff500b6067f1e518d1747f42cd3737c2ff2e95c /addons/mrp_subcontracting_account/tests
parenta684372fdd4247553978d893a354eec01dfad288 (diff)
[MOV] purchase_mrp_subcontracting -> mrp_subcontracting_account
Diffstat (limited to 'addons/mrp_subcontracting_account/tests')
-rw-r--r--addons/mrp_subcontracting_account/tests/__init__.py4
-rw-r--r--addons/mrp_subcontracting_account/tests/test_subcontracting_account.py58
2 files changed, 62 insertions, 0 deletions
diff --git a/addons/mrp_subcontracting_account/tests/__init__.py b/addons/mrp_subcontracting_account/tests/__init__.py
new file mode 100644
index 00000000000..99d0c6d660b
--- /dev/null
+++ b/addons/mrp_subcontracting_account/tests/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import test_subcontracting_account
diff --git a/addons/mrp_subcontracting_account/tests/test_subcontracting_account.py b/addons/mrp_subcontracting_account/tests/test_subcontracting_account.py
new file mode 100644
index 00000000000..1ca19d0b15c
--- /dev/null
+++ b/addons/mrp_subcontracting_account/tests/test_subcontracting_account.py
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.addons.mrp_subcontracting.tests.common import TestMrpSubcontractingCommon
+from odoo.tests.common import Form
+
+class TestAccountSubcontractingFlows(TestMrpSubcontractingCommon):
+ def test_subcontracting_account_flow_1(self):
+ self.stock_location = self.env.ref('stock.stock_location_stock')
+ self.customer_location = self.env.ref('stock.stock_location_customers')
+ self.supplier_location = self.env.ref('stock.stock_location_suppliers')
+ self.uom_unit = self.env.ref('uom.product_uom_unit')
+ self.env.ref('product.product_category_all').property_cost_method = 'fifo'
+
+ # IN 10@10 comp1 10@20 comp2
+ move1 = self.env['stock.move'].create({
+ 'name': 'IN 10 units @ 10.00 per unit',
+ 'location_id': self.supplier_location.id,
+ 'location_dest_id': self.env.company.subcontracting_location_id.id,
+ 'product_id': self.comp1.id,
+ 'product_uom': self.uom_unit.id,
+ 'product_uom_qty': 10.0,
+ 'price_unit': 10.0,
+ })
+ move1._action_confirm()
+ move1._action_assign()
+ move1.move_line_ids.qty_done = 10.0
+ move1._action_done()
+ move2 = self.env['stock.move'].create({
+ 'name': 'IN 10 units @ 20.00 per unit',
+ 'location_id': self.supplier_location.id,
+ 'location_dest_id': self.env.company.subcontracting_location_id.id,
+ 'product_id': self.comp2.id,
+ 'product_uom': self.uom_unit.id,
+ 'product_uom_qty': 10.0,
+ 'price_unit': 20.0,
+ })
+ move2._action_confirm()
+ move2._action_assign()
+ move2.move_line_ids.qty_done = 10.0
+ move2._action_done()
+
+ picking_form = Form(self.env['stock.picking'])
+ picking_form.picking_type_id = self.env.ref('stock.picking_type_in')
+ picking_form.partner_id = self.subcontractor_partner1
+ with picking_form.move_ids_without_package.new() as move:
+ move.product_id = self.finished
+ move.product_uom_qty = 1
+ picking_receipt = picking_form.save()
+ picking_receipt.move_lines.price_unit = 30.0
+
+ picking_receipt.action_confirm()
+ picking_receipt.move_lines.quantity_done = 1.0
+ picking_receipt.action_done()
+
+ mo = picking_receipt._get_subcontracted_productions()
+ self.assertEqual(mo.move_finished_ids.stock_valuation_layer_ids.value, 60)
+ self.assertEqual(mo.move_finished_ids.product_id.value_svl, 60)