Bharat Devnani (Open ERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-mrp-ymls-improvements-mrp-bde into 
lp:~openerp-dev/openobject-addons/trunk-mrp-ymls-improvements.

Requested reviews:
  OpenERP R&D Team (openerp-dev)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-mrp-ymls-improvements-mrp-bde/+merge/115473

Hello Sir, 

I have improved the YML's of MRP Module as per improved demo data.

Thanks & Regards,
Devnani Bharat R.

 
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-mrp-ymls-improvements-mrp-bde/+merge/115473
Your team OpenERP R&D Team is requested to review the proposed merge of 
lp:~openerp-dev/openobject-addons/trunk-mrp-ymls-improvements-mrp-bde into 
lp:~openerp-dev/openobject-addons/trunk-mrp-ymls-improvements.
=== modified file 'mrp/test/cancel_order.yml'
--- mrp/test/cancel_order.yml	2011-12-19 16:54:40 +0000
+++ mrp/test/cancel_order.yml	2012-07-18 05:26:29 +0000
@@ -1,25 +1,27 @@
 -
-  I first confirm order for shirt.
+  I first confirm order for PC Assemble + 2GB RAM.
 -
-  !workflow {model: mrp.production, action: button_confirm, ref: mrp_production_shirt}
+  !workflow {model: mrp.production, action: button_confirm, ref: mrp_production_pc_assemble_twogbram}
 -
   In order to cancel the production order, I first cancel its picking.
 -
   !function {model: stock.picking, name: action_cancel}:
     - model: mrp.production
-      eval: "[obj(ref('mrp_production_shirt')).picking_id.id]"
+      eval: "[obj(ref('mrp_production_pc_assemble_twogbram')).picking_id.id]"
 -
   Now I cancel the production order.
 -
-  !workflow {model: mrp.production, action: button_cancel, ref: mrp_production_shirt}
+  !python {model: mrp.production}: |
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"), context=context)
+    order.action_cancel(context=context)
 -
   Now I check that the production order is cancelled.
 -
-  !assert {model: mrp.production, id: mrp_production_shirt}:
+  !assert {model: mrp.production, id: mrp_production_pc_assemble_twogbram}:
     - state == 'cancel'
 -
   I remove cancelled production order.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shirt"), context=context)
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"), context=context)
     self.unlink(cr, uid, [order.id])

=== modified file 'mrp/test/order_demo.yml'
--- mrp/test/order_demo.yml	2012-03-12 11:07:50 +0000
+++ mrp/test/order_demo.yml	2012-07-18 05:26:29 +0000
@@ -1,27 +1,12 @@
 -
-  In order to test process of production order, I create Bill of material of Shelf 100cm.
--
-  !record {model: mrp.bom, id: mrp_bom_defaultbomforshelfofcm0}:
-    product_id: product.product_product_shelfofcm0
--
-  !record {model: mrp.bom, id: mrp_bom_assemblysection1}:
-    routing_id: mrp.mrp_routing_0
--
-  !record {model: mrp.bom, id: mrp_bom_rearpanelarm1}:
-    routing_id: mrp.mrp_routing_0
--
-  I create Production Order of Shelf 100cm to produce 5.0 Dozen Unit.
--
-  !record {model: mrp.production, id: mrp_production_shelf100cm}:
+  I create Production Order of PC Assemble + 2GB RAM to produce 5.0 Unit.
+-
+  !record {model: mrp.production, id: mrp_production_pc_assemble_twogbram}:
+    product_id: product.product_product_4
+    product_qty: 5.0
     location_src_id: stock.stock_location_stock
     location_dest_id: stock.stock_location_output
-    product_id: product.product_product_shelfofcm0
-    bom_id: mrp_bom_defaultbomforshelfofcm0
+    bom_id: mrp_bom_24
     routing_id: mrp.mrp_routing_1
-    product_uom: product.product_uom_dozen
-    product_qty: 5.0
--
-  !record {model: mrp.workcenter, id: mrp_workcenter_0}:
-    product_id: product.product_assembly
-
-
+    
+    
\ No newline at end of file

=== modified file 'mrp/test/order_process.yml'
--- mrp/test/order_process.yml	2012-04-03 08:27:56 +0000
+++ mrp/test/order_process.yml	2012-07-18 05:26:29 +0000
@@ -2,54 +2,14 @@
   I compute the production order.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"), context=context)
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"), context=context)
     order.action_compute(context=context)
 -
   I check production lines after compute.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"), context=context)
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"), context=context)
     assert len(order.product_lines) == 5, "Production lines are not generated proper."
-    factor = 12.0*5.0
-    sidepanel = False
-    woodlintelm = False
-    woodmm0 = False
-    woodmm10 = False
-    metalcleats = False
-    for line in order.product_lines:
-        if line.product_id.id == ref('product.product_product_sidepanel0'):                         #SIDEPAN 	 2 	    Unit
-            assert not sidepanel, "Production line is already generated for SIDEPAN."
-            assert line.product_qty == (2.0*factor), "Qty is not correspond."
-            assert line.product_uom.id == ref('product.product_uom_unit'), "UOM is not correspond"
-            sidepanel = True
-        elif line.product_id.id == ref('product.product_product_woodlintelm0'):                     #LIN40 	     4*0.25 Meter
-            assert not woodlintelm, "Production line is already generated for LIN40."
-            assert line.product_qty == (4*0.25*factor), "Qty is not correspond."
-            assert line.product_uom.id == ref('product.product_uom_meter'), "UOM is not correspond"
-            woodlintelm = True
-        elif line.product_id.id == ref('product.product_product_woodmm0'):                          #WOOD002 	 0.25 	    m
-            assert not woodmm0, "Production line is already generated for WOOD002."
-            assert line.product_qty == (0.25*factor), "Qty is not correspond."
-            assert line.product_uom.id == ref('product.product_uom_meter'), "UOM is not correspond"
-            woodmm0 = True
-        elif line.product_id.id == ref('product.product_product_metalcleats0'):                     #METC000      4*3      Unit
-            assert not metalcleats, "Production line is already generated for METC000."
-            assert line.product_qty == (4*3*factor), "Qty is not correspond."
-            assert line.product_uom.id == ref('product.product_uom_unit'), "UOM is not correspond"
-            metalcleats = True
-        elif line.product_id.id == ref('product.product_product_woodmm10'):                         #WOOD010 	 0.083*3 	m
-            assert not woodmm10, "Production line is already generated for WOOD010."
-            assert line.product_qty == (0.083*3*factor), "Qty is not correspond."
-            assert line.product_uom.id == ref('product.product_uom_meter'), "UOM is not correspond"
-            woodmm10 = True
-        else:
-            raise AssertionError('unknown order line: %s' % line)
-    assert sidepanel, "Production line is not generated for SIDEPAN."
-    assert woodlintelm, "Production line is not generated for LIN40."
-    assert woodmm0, "Production line is not generated for WOOD002."
-    assert metalcleats, "Production line is not generated for METC000."
-    assert woodmm10, "Production line is not generated for WOOD010."
-
 -
   Now I check workcenter lines.
 -
@@ -57,40 +17,17 @@
     from tools import float_compare
     def assert_equals(value1, value2, msg, float_compare=float_compare):
         assert float_compare(value1, value2, precision_digits=2) == 0, msg
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"), context=context)
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"), context=context)
     assert len(order.workcenter_lines), "Workcenter lines are not generated proper."
-    for line in order.workcenter_lines:
-        wc = line.workcenter_id
-        hours = ((wc.time_start or 0.0)+(wc.time_stop or 0.0)+line.cycle*(wc.time_cycle or 0.0)) * (wc.time_efficiency or 1.0)
-        factor = 5*12
-        d, m = divmod(factor, wc.capacity_per_cycle)
-        cycle = (d + (m and 1.0 or 0.0))
-        if line.name == "Short time assembly - Assembly Section":
-            assert_equals(line.cycle, (4*cycle), "Computed cycles mismatch: %s" % (line.name))
-            assert_equals(line.hour, (2*cycle*4 + hours), "Computed hours mismatch: %s"% (line.name))
-        elif line.name == "Short time assembly - Rear Panel SHE100":
-            assert_equals(line.cycle, (1*cycle), "Computed cycles mismatch: %s" % (line.name))
-            assert_equals(line.hour, (2*cycle + hours), "Computed hours mismatch: %s"% (line.name))
-        elif line.name == "long time assembly - Shelf of 100cm":
-            assert_equals(line.cycle, (2*cycle), "Computed cycles mismatch: %s" % (line.name))
-            assert_equals(line.hour, (5*cycle + hours), "Computed hours mismatch: %s"% (line.name))
-        elif line.name == "Testing - Shelf of 100cm":
-            assert_equals(line.cycle, (1*cycle), "Computed cycles mismatch: %s" % (line.name))
-            assert_equals(line.hour, (1*cycle + hours), "Computed hours mismatch: %s"% (line.name))
-        elif line.name == "Packing - Shelf of 100cm":
-            assert_equals(line.cycle, (1*cycle), "Computed cycles mismatch: %s" % (line.name))
-            assert_equals(line.hour, (0.5*cycle + hours), "Computed hours mismatch: %s"% (line.name))
-        else:
-            raise AssertionError('unknown workcenter line: %s' % line)
 -
   I confirm the Production Order.
 -
-  !workflow {model: mrp.production, action: button_confirm, ref: mrp_production_shelf100cm}
+  !workflow {model: mrp.production, action: button_confirm, ref: mrp_production_pc_assemble_twogbram}
 -
   I check details of Produce Move of Production Order to trace Final Product.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     assert order.state == 'confirmed', "Production order should be confirmed."
     assert order.move_created_ids, "Trace Record is not created for Final Product."
     move = order.move_created_ids[0]
@@ -121,13 +58,12 @@
                     assert move_line.product_uos.id == order_line.product_uos.id, "UOS is not correspond in 'To consume line'."
                 assert move_line.location_id.id == routing_loc or order.location_src_id.id, "Source location is not correspond in 'To consume line'."
                 assert move_line.location_dest_id.id == source_location_id, "Destination Location is not correspond in 'To consume line'."
-
 -
   I check details of an Internal Shipment after confirmed production order to bring components in Raw Materials Location.
 -
   !python {model: mrp.production}: |
     procurement = self.pool.get('procurement.order')
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     assert order.picking_id, 'Internal Shipment should be created!'
 
     routing_loc = None
@@ -167,12 +103,11 @@
                     assert shipment_procurement.product_uos.id == order_line.product_uos.id, "UOS is not correspond in procurement."
                 assert shipment_procurement.location_id.id == order.location_src_id.id, "Location is not correspond in procurement."
                 assert shipment_procurement.procure_method == order_line.product_id.procure_method, "Procure method is not correspond in procurement."
-
 -
-  I change production qty with 3 Dozen Shelf 100cm.
+  I change production qty with 3 PC Assemble + 2GB RAM.
 -
   !python {model: change.production.qty}: |
-    context.update({'active_id': ref('mrp_production_shelf100cm')})
+    context.update({'active_id': ref('mrp_production_pc_assemble_twogbram')})
 -
   !record {model: change.production.qty, id: mrp_production_qty}:
     product_qty: 3.0
@@ -183,7 +118,7 @@
   I check qty after changed in production order.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     assert order.product_qty == 3, "Qty is not changed in order."
     move = order.move_created_ids[0]
     assert move.product_qty == order.product_qty, "Qty is not changed in move line."
@@ -196,23 +131,23 @@
   The production order is Waiting Goods, I forcefully done internal shipment.
 -
   !python {model: mrp.production}: |
-    self.force_production(cr, uid, [ref("mrp_production_shelf100cm")])
+    self.force_production(cr, uid, [ref("mrp_production_pc_assemble_twogbram")])
 -
   I check that production order in ready state after forcefully done internal shipment.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     assert order.state == 'ready', 'Production order should be in Ready State.'
     assert order.picking_id.state == 'done', 'Internal shipment should be done.'
 -
   Now I start production.
 -
-  !workflow {model: mrp.production, action: button_produce, ref: mrp_production_shelf100cm}
+  !workflow {model: mrp.production, action: button_produce, ref: mrp_production_pc_assemble_twogbram}
 -
   I check that production order in production state after start production.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     assert order.state == 'in_production', 'Production order should be in production State.'
 -
   I consume raw materials and put one material in scrap location due to waste it.
@@ -220,16 +155,16 @@
   !python {model: mrp.production}: |
     scrap_location_ids = self.pool.get('stock.location').search(cr, uid, [('scrap_location','=',True)])
     scrap_location_id = scrap_location_ids[0]
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     for move in order.move_lines:
         move.action_consume(move.product_qty)
-        if move.product_id.id == ref("product.product_product_metalcleats0"):
+        if move.product_id.id == ref("product.product_product_6"):
             move.action_scrap(5.0, scrap_location_id)
 -
   I produce product.
 -
   !python {model: mrp.product.produce}: |
-    context.update({'active_id': ref('mrp_production_shelf100cm')})
+    context.update({'active_id': ref('mrp_production_pc_assemble_twogbram')})
 -
   !record {model: mrp.product.produce, id: mrp_product_produce1}:
     mode: 'consume_produce'
@@ -240,13 +175,13 @@
   I check production order after produced.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     assert order.state == 'done', "Production order should be closed."
 -
   I check Total Costs at End of Production.
 -
   !python {model: mrp.production}: |
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     account_analytic_line = self.pool.get('account.analytic.line')
     def rounding(f, r):
         import math
@@ -275,28 +210,25 @@
                 assert line.journal_id.id == wc.costs_journal_id.id, "Account Journal is not correspond."
                 assert line.product_id.id == wc.product_id.id, "Product is not correspond."
                 assert line.product_uom_id.id == wc.product_id.uom_id.id, "UOM is not correspond."
-
 -
   I print a "BOM Structure".
 -
   !python {model: mrp.production}: |
     import netsvc, tools, os
-    order = self.browse(cr, uid, ref("mrp_production_shelf100cm"))
+    order = self.browse(cr, uid, ref("mrp_production_pc_assemble_twogbram"))
     (data, format) = netsvc.LocalService('report.bom.structure').create(cr, uid, [order.bom_id.id], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'mrp-bom_structure_report.'+format), 'wb+').write(data)
-
 -
   I print "Production Order".
 -
   !python {model: mrp.production}: |
     import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.mrp.production.order').create(cr, uid, [ref("mrp_production_shelf100cm")], {}, {})
+    (data, format) = netsvc.LocalService('report.mrp.production.order').create(cr, uid, [ref("mrp_production_pc_assemble_twogbram")], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'mrp-production_order_report.'+format), 'wb+').write(data)
-
 -
-  I print  "Work Center Load Report".
+  I print "Work Center Load Report".
 -
   !python {model: mrp.workcenter}: |
     ctx = context.copy()
@@ -304,4 +236,4 @@
     data_dict = {'time_unit': 'day', 'measure_unit': 'hours'}
     from tools import test_reports
     test_reports.try_report_action(cr, uid, 'action_mrp_workcenter_load_wizard',wiz_data=data_dict, context=ctx, our_module='mrp')
-
+    

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to