flectra/addons/stock/test/procrule.yml

55 lines
1.9 KiB
YAML
Raw Permalink Normal View History

-
Create a product route containing a procurement rule that will
generate a move from Stock for every procurement created in Output
-
!record {model: stock.location.route, id: product_route}:
name: Stock -> output route
product_selectable: True
pull_ids:
- name: Stock -> output rule
action: move
picking_type_id: stock.picking_type_internal
location_src_id: stock.stock_location_stock
location_id: stock.stock_location_output
-
Set this route on `product.product_product_3`
-
!python {model: product.product, id: product.product_product_3}: |
self.write({'route_ids': [(4, ref('stock.product_route'))]})
-
Create Delivery Order of 10 `product.product_product_3`
from Output -> Customer
-
!record {model: stock.picking, id: pick_output}:
name: Delivery order for procurement
partner_id: base.res_partner_2
picking_type_id: stock.picking_type_out
location_id: stock.stock_location_output
location_dest_id: stock.stock_location_customers
move_lines:
- product_id: product.product_product_3
product_uom_qty: 10.00
procure_method: make_to_order
-
Confirm delivery order.
-
!python {model: stock.picking, id: pick_output}: |
self.action_confirm()
-
I run the scheduler.
-
!python {model: procurement.group, id: False}: |
self.run_scheduler()
-
Check that a picking was created from stock to output.
-
!python {model: stock.move, id: False}: |
picking = self.env["stock.picking"].browse(ref("pick_output"))
moves = self.search([
('product_id', '=', ref('product.product_product_3')),
('location_id', '=', ref('stock.stock_location_stock')),
('location_dest_id', '=', ref('stock.stock_location_output')),
('move_dest_ids', 'in', [picking.move_lines[0].id])
])
assert len(moves.ids) == 1, "It should have created a picking from Stock to Output with the original picking as destination"