diff --git a/addons/stock/tests/test_stock_flow.py b/addons/stock/tests/test_stock_flow.py index 1a0fcc899f8..7983924790d 100644 --- a/addons/stock/tests/test_stock_flow.py +++ b/addons/stock/tests/test_stock_flow.py @@ -1876,3 +1876,30 @@ class TestStockFlow(TestStockCommon): picking = f.save() self.assertEqual(f.state, 'confirmed') + + def test_picking_form_immediate_transfer(self): + picking_form = Form(self.env['stock.picking'].with_context(default_immediate_transfer=True)) + + picking_form.picking_type_id = self.env.ref('stock.picking_type_in') + with picking_form.move_ids_without_package.new() as move: + self.assertFalse(move._get_modifier('quantity_done', 'column_invisible')) + self.assertTrue(move._get_modifier('forecast_availability', 'column_invisible')) + self.assertTrue(move._get_modifier('reserved_availability', 'column_invisible')) + move.product_id = self.productA + move.quantity_done = 1 + picking = picking_form.save() + + self.assertEqual(picking.state, 'assigned') + + picking_form = Form(self.env['stock.picking'].with_context(default_immediate_transfer=False)) + + picking_form.picking_type_id = self.env.ref('stock.picking_type_in') + with picking_form.move_ids_without_package.new() as move: + self.assertTrue(move._get_modifier('quantity_done', 'column_invisible')) + self.assertTrue(move._get_modifier('forecast_availability', 'column_invisible')) + self.assertTrue(move._get_modifier('reserved_availability', 'column_invisible')) + move.product_id = self.productA + move.product_uom_qty = 1 + picking = picking_form.save() + + self.assertEqual(picking.state, 'draft') diff --git a/addons/stock/views/stock_picking_views.xml b/addons/stock/views/stock_picking_views.xml index 89a8df3a371..70f063abce6 100644 --- a/addons/stock/views/stock_picking_views.xml +++ b/addons/stock/views/stock_picking_views.xml @@ -380,14 +380,18 @@ -