--- /dev/null
+-
+ I create Bill of Materials with one service type product and one consumable product.
+-
+ !record {model: mrp.bom, id: mrp_bom_test1}:
+ company_id: base.main_company
+ name: BOM with Service type products
+ product_id: product.product_product_4
+ product_qty: 1.0
+ type: normal
+ bom_lines:
+ - company_id: base.main_company
+ name: On Site Assistance
+ product_id: product.product_product_3
+ product_qty: 1.0
+ - company_id: base.main_company
+ name: GrapWorks Software
+ product_id: product.product_product_45
+ product_qty: 1.0
+-
+ I make the production order for BoM having one service type product and one consumable product.
+-
+ !record {model: mrp.production, id: mrp_production_servicetype_mo1}:
+ product_id: product.product_product_6
+ product_qty: 1.0
+ bom_id: mrp_bom_test1
+ date_planned: !eval time.strftime('%Y-%m-%d %H:%M:%S')
+-
+ I compute the data of production order.
+-
+ !python {model: mrp.production}: |
+ self.action_compute(cr, uid, [ref("mrp_production_servicetype_mo1")], {"lang": "en_US", "tz": False, "search_default_Current":
+ 1, "active_model": "ir.ui.menu", "active_ids": [ref("mrp.menu_mrp_production_action")],
+ "active_id": ref("mrp.menu_mrp_production_action"), })
+-
+ I confirm the production order.
+-
+ !workflow {model: mrp.production, action: button_confirm, ref: mrp_production_servicetype_mo1}
+-
+ I confirm the Consume Products.
+-
+ !python {model: mrp.production}: |
+ order = self.browse(cr, uid, ref("mrp_production_servicetype_mo1"))
+ assert order.state == 'confirmed', "Production order should be confirmed."
+ for move_line in order.move_lines:
+ move_line.action_consume(move_line.product_qty)
+-
+ I processed the Product Entirely.
+-
+ !python {model: mrp.production}: |
+ order = self.browse(cr, uid, ref("mrp_production_servicetype_mo1"))
+ assert order.state == 'in_production', 'Production order should be in production State.'
+ for move_created in order.move_created_ids:
+ move_created.action_done()
+-
+ I check production order after produced.
+-
+ !python {model: mrp.production}: |
+ order = self.browse(cr, uid, ref("mrp_production_servicetype_mo1"))
+ assert order.state == 'done', "Production order should be closed."
+