-
  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"
