[Move]purchase_requisition: Move purchase_requisition.yml in to process folder
authorDBR (OpenERP) <dbr@tinyerp.com>
Thu, 20 Oct 2011 06:22:48 +0000 (11:52 +0530)
committerDBR (OpenERP) <dbr@tinyerp.com>
Thu, 20 Oct 2011 06:22:48 +0000 (11:52 +0530)
bzr revid: dbr@tinyerp.com-20111020062248-tg7pkrdvh026jvzm

addons/purchase_requisition/test/process/purchase_requisition.yml [new file with mode: 0644]
addons/purchase_requisition/test/purchase_requisition.yml [deleted file]

diff --git a/addons/purchase_requisition/test/process/purchase_requisition.yml b/addons/purchase_requisition/test/process/purchase_requisition.yml
new file mode 100644 (file)
index 0000000..fb5fa77
--- /dev/null
@@ -0,0 +1,189 @@
+
+-
+  In order to test the purchase requisition module, I will do a sale order -> purchase_requisition ->
+  purchase flow and I will buy the required products at two different suppliers.
+-
+  I start by creating a new product 'Laptop ACER', which is purchased at Asustek, in MTO,
+  with the generation of purchase requisitions.
+-
+  !record {model: product.product, id: product_product_laptopacer0}:
+    categ_id: product.product_category_3
+    cost_method: standard
+    mes_type: fixed
+    name: Laptop ACER
+    procure_method: make_to_order
+    purchase_requisition: 1
+    seller_ids:
+      - delay: 1
+        name: base.res_partner_asus
+        qty: 5.0
+        min_qty: 1.0
+    supply_method: buy
+    type: product
+    uom_id: product.product_uom_unit
+    uom_po_id: product.product_uom_unit
+    volume: 0.0
+    warranty: 0.0
+    weight: 0.0
+    weight_net: 0.0
+    list_price: 100.0
+-
+  Then I sell 5 Laptop ACER to the customer Agrolait, sale order TEST/TENDER/0001.
+-
+  !record {model: sale.order, id: sale_order_testtender0}:
+    date_order: !eval time.strftime('%Y-%m-%d')
+    invoice_quantity: order
+    name: TEST/TENDER/0001
+    order_line:
+      - name: Laptop ACER
+        price_unit: 100.0
+        product_uom: product.product_uom_unit
+        product_uom_qty: 5.0
+        state: draft
+        delay: 7.0
+        product_id: product_product_laptopacer0
+        product_uos_qty: 5.0
+        th_weight: 0.0
+        type: make_to_order
+    order_policy: manual
+    partner_id: base.res_partner_agrolait
+    partner_invoice_id: base.res_partner_address_8
+    partner_order_id: base.res_partner_address_8
+    partner_shipping_id: base.res_partner_address_8
+    picking_policy: direct
+    pricelist_id: product.list0
+    shop_id: sale.shop
+-
+  I confirm the sale order.
+-
+  !workflow {model: sale.order, action: order_confirm, ref: sale_order_testtender0}
+-
+  I launch the scheduler to compute all procurements, and specify all requisitions orders.
+-
+  !python {model: procurement.order.compute.all}: |
+    proc_obj = self.pool.get('procurement.order')
+    proc_obj._procure_confirm(cr,uid)
+-
+  On the purchase requisition, I create a new purchase order for the supplier 'DistriPC' by clicking on
+  the button 'New RfQ'. This opens a window to ask me the supplier and I set DistriPC .
+-
+  !record {model: purchase.requisition.partner, id: purchase_requisition_partner_0}:
+    partner_address_id: base.res_partner_address_7
+    partner_id: base.res_partner_4
+-
+  I create a new purchase order.
+-
+  !python {model: purchase.requisition.partner}: |
+    req_obj = self.pool.get('purchase.requisition')
+    ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER')])
+    self.create_order(cr, uid, [ref("purchase_requisition_partner_0")], {"lang":
+      'en_US', "active_model": "purchase.requisition", "tz": False, "record_id":
+      1, "active_ids": ids, "active_id": ids[0], })
+
+-
+ I check that I have two purchase orders on the purchase requisition.
+-
+ !python {model: purchase.order}: |
+    from tools.translate import _
+    order_ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
+    ids=len(order_ids)
+    assert(ids == 2), _('Purchase Order not Created')
+
+-
+ I set the purchase requisition as 'Not Exclusive'.
+-
+ !python {model: purchase.requisition}: |
+    ids =self.search(cr, uid, [('origin','=','Laptop ACER')])
+    self.write(cr,uid,ids[0],{'exclusive': 'multiple' })
+-
+  I change the quantities so that the purchase order for DistriPC includes 3 pieces and the
+  purchase order for Asustek includes 2 pieces.
+-
+  !python {model: purchase.order}: |
+    line_obj=self.pool.get('purchase.order.line')
+    partner_obj=self.pool.get('res.partner')
+    requistion_obj=self.pool.get('purchase.requisition')
+    requistion_ids =requistion_obj.search(cr, uid, [('origin','=','Laptop ACER')])
+    partner_id1=partner_obj.search(cr,uid,[('name','=','ASUStek')])[0]
+    partner_id2=partner_obj.search(cr,uid,[('name','=','Distrib PC')])[0]
+    purchase_id1= self.search(cr, uid, [('partner_id','=',partner_id1),('requisition_id','in',requistion_ids)])
+    purchase_id2= self.search(cr, uid, [('partner_id','=',partner_id2),('requisition_id','in',requistion_ids)])
+    order_line1=self.browse(cr, uid, purchase_id1, context)[0].order_line[0].id
+    order_line2=self.browse(cr, uid, purchase_id2, context)[0].order_line[0].id
+    line_obj.write(cr, uid, order_line1, {'product_qty':2})
+    line_obj.write(cr, uid, order_line2, {'product_qty':3})
+-
+  I confirm and validate both purchase orders.
+-
+  !python {model: purchase.order}: |
+   order_ids= self.search(cr, uid, [])
+   import netsvc
+   wf_service = netsvc.LocalService("workflow")
+   for id in order_ids:
+      wf_service.trg_validate(uid, 'purchase.order',id,'purchase_confirm', cr)
+      wf_service.trg_validate(uid, 'purchase.order',id,'purchase_approve', cr)
+-
+  I check that the delivery order of the customer is in state 'Waiting Goods'.
+-
+  !python {model: stock.picking }: |
+    from tools.translate import _
+    picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
+    if picking_id:
+      pick=self.browse(cr,uid,picking_id[0])
+      assert (pick.state =='confirmed'),_('Picking  is  not in confirm state.')
+      assert (pick.move_lines[0].state == 'waiting'), _('Stock Move is  not Waiting state.')
+
+-
+  I receive the order of the supplier Asustek from the Incoming Products menu.
+-
+  !python {model: stock.picking }: |
+   import time
+   partner_obj=self.pool.get('res.partner')
+   order_obj=self.pool.get('purchase.order')
+   partner_id=partner_obj.search(cr,uid,[('name','=','ASUStek')])[0]
+   picking_id = self.search(cr, uid, [('address_id.partner_id','=',partner_id),('type','=','in')])
+   if picking_id:
+     pick=self.browse(cr,uid,picking_id[0])
+     move =pick.move_lines[0]
+     partial_datas = {
+              'partner_id': pick.address_id.partner_id.id,
+              'address_id': pick.address_id.id,
+              'delivery_date' : time.strftime('%Y-%m-%d'),
+           }
+     partial_datas['move%s'%(move.id)]= {
+       'product_id': move.product_id.id,
+       'product_qty': move.product_qty,
+       'product_uom': move.product_uom.id,
+      }
+     self.do_partial(cr, uid, picking_id,partial_datas)
+-
+ I receive the order of the supplier DistriPC from the Incoming Shipments menu.
+-
+  !python {model: stock.picking }: |
+   import time
+   partner_id=self.pool.get('res.partner').search(cr,uid,[('name','=','Distrib PC')])[0]
+   picking_id = self.search(cr, uid, [('address_id.partner_id','=',partner_id),('type','=','in')])
+   if picking_id:
+      pick=self.browse(cr,uid,picking_id[0])
+      move =pick.move_lines[0]
+      partial_datas = {
+           'partner_id':pick.address_id.partner_id.id,
+            'address_id': pick.address_id.id,
+            'delivery_date' : time.strftime('%Y-%m-%d'),
+           }
+      partial_datas['move%s'%(move.id)]= {
+          'product_id': move.product_id.id,
+          'product_qty': move.product_qty,
+          'product_uom': move.product_uom.id,
+      }
+      self.do_partial(cr, uid, picking_id,partial_datas)
+-
+  I check that the delivery order of the customer is in the state Available.
+-
+  !python {model: stock.picking }: |
+   from tools.translate import _
+   picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001'),('type','=','out')])
+   if picking_id:
+      pick=self.browse(cr,uid,picking_id[0])
+      assert(pick.state == 'assigned'), _('Picking  is  not in available state')
+
diff --git a/addons/purchase_requisition/test/purchase_requisition.yml b/addons/purchase_requisition/test/purchase_requisition.yml
deleted file mode 100644 (file)
index fb5fa77..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-
--
-  In order to test the purchase requisition module, I will do a sale order -> purchase_requisition ->
-  purchase flow and I will buy the required products at two different suppliers.
--
-  I start by creating a new product 'Laptop ACER', which is purchased at Asustek, in MTO,
-  with the generation of purchase requisitions.
--
-  !record {model: product.product, id: product_product_laptopacer0}:
-    categ_id: product.product_category_3
-    cost_method: standard
-    mes_type: fixed
-    name: Laptop ACER
-    procure_method: make_to_order
-    purchase_requisition: 1
-    seller_ids:
-      - delay: 1
-        name: base.res_partner_asus
-        qty: 5.0
-        min_qty: 1.0
-    supply_method: buy
-    type: product
-    uom_id: product.product_uom_unit
-    uom_po_id: product.product_uom_unit
-    volume: 0.0
-    warranty: 0.0
-    weight: 0.0
-    weight_net: 0.0
-    list_price: 100.0
--
-  Then I sell 5 Laptop ACER to the customer Agrolait, sale order TEST/TENDER/0001.
--
-  !record {model: sale.order, id: sale_order_testtender0}:
-    date_order: !eval time.strftime('%Y-%m-%d')
-    invoice_quantity: order
-    name: TEST/TENDER/0001
-    order_line:
-      - name: Laptop ACER
-        price_unit: 100.0
-        product_uom: product.product_uom_unit
-        product_uom_qty: 5.0
-        state: draft
-        delay: 7.0
-        product_id: product_product_laptopacer0
-        product_uos_qty: 5.0
-        th_weight: 0.0
-        type: make_to_order
-    order_policy: manual
-    partner_id: base.res_partner_agrolait
-    partner_invoice_id: base.res_partner_address_8
-    partner_order_id: base.res_partner_address_8
-    partner_shipping_id: base.res_partner_address_8
-    picking_policy: direct
-    pricelist_id: product.list0
-    shop_id: sale.shop
--
-  I confirm the sale order.
--
-  !workflow {model: sale.order, action: order_confirm, ref: sale_order_testtender0}
--
-  I launch the scheduler to compute all procurements, and specify all requisitions orders.
--
-  !python {model: procurement.order.compute.all}: |
-    proc_obj = self.pool.get('procurement.order')
-    proc_obj._procure_confirm(cr,uid)
--
-  On the purchase requisition, I create a new purchase order for the supplier 'DistriPC' by clicking on
-  the button 'New RfQ'. This opens a window to ask me the supplier and I set DistriPC .
--
-  !record {model: purchase.requisition.partner, id: purchase_requisition_partner_0}:
-    partner_address_id: base.res_partner_address_7
-    partner_id: base.res_partner_4
--
-  I create a new purchase order.
--
-  !python {model: purchase.requisition.partner}: |
-    req_obj = self.pool.get('purchase.requisition')
-    ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER')])
-    self.create_order(cr, uid, [ref("purchase_requisition_partner_0")], {"lang":
-      'en_US', "active_model": "purchase.requisition", "tz": False, "record_id":
-      1, "active_ids": ids, "active_id": ids[0], })
-
--
- I check that I have two purchase orders on the purchase requisition.
--
- !python {model: purchase.order}: |
-    from tools.translate import _
-    order_ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
-    ids=len(order_ids)
-    assert(ids == 2), _('Purchase Order not Created')
-
--
- I set the purchase requisition as 'Not Exclusive'.
--
- !python {model: purchase.requisition}: |
-    ids =self.search(cr, uid, [('origin','=','Laptop ACER')])
-    self.write(cr,uid,ids[0],{'exclusive': 'multiple' })
--
-  I change the quantities so that the purchase order for DistriPC includes 3 pieces and the
-  purchase order for Asustek includes 2 pieces.
--
-  !python {model: purchase.order}: |
-    line_obj=self.pool.get('purchase.order.line')
-    partner_obj=self.pool.get('res.partner')
-    requistion_obj=self.pool.get('purchase.requisition')
-    requistion_ids =requistion_obj.search(cr, uid, [('origin','=','Laptop ACER')])
-    partner_id1=partner_obj.search(cr,uid,[('name','=','ASUStek')])[0]
-    partner_id2=partner_obj.search(cr,uid,[('name','=','Distrib PC')])[0]
-    purchase_id1= self.search(cr, uid, [('partner_id','=',partner_id1),('requisition_id','in',requistion_ids)])
-    purchase_id2= self.search(cr, uid, [('partner_id','=',partner_id2),('requisition_id','in',requistion_ids)])
-    order_line1=self.browse(cr, uid, purchase_id1, context)[0].order_line[0].id
-    order_line2=self.browse(cr, uid, purchase_id2, context)[0].order_line[0].id
-    line_obj.write(cr, uid, order_line1, {'product_qty':2})
-    line_obj.write(cr, uid, order_line2, {'product_qty':3})
--
-  I confirm and validate both purchase orders.
--
-  !python {model: purchase.order}: |
-   order_ids= self.search(cr, uid, [])
-   import netsvc
-   wf_service = netsvc.LocalService("workflow")
-   for id in order_ids:
-      wf_service.trg_validate(uid, 'purchase.order',id,'purchase_confirm', cr)
-      wf_service.trg_validate(uid, 'purchase.order',id,'purchase_approve', cr)
--
-  I check that the delivery order of the customer is in state 'Waiting Goods'.
--
-  !python {model: stock.picking }: |
-    from tools.translate import _
-    picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
-    if picking_id:
-      pick=self.browse(cr,uid,picking_id[0])
-      assert (pick.state =='confirmed'),_('Picking  is  not in confirm state.')
-      assert (pick.move_lines[0].state == 'waiting'), _('Stock Move is  not Waiting state.')
-
--
-  I receive the order of the supplier Asustek from the Incoming Products menu.
--
-  !python {model: stock.picking }: |
-   import time
-   partner_obj=self.pool.get('res.partner')
-   order_obj=self.pool.get('purchase.order')
-   partner_id=partner_obj.search(cr,uid,[('name','=','ASUStek')])[0]
-   picking_id = self.search(cr, uid, [('address_id.partner_id','=',partner_id),('type','=','in')])
-   if picking_id:
-     pick=self.browse(cr,uid,picking_id[0])
-     move =pick.move_lines[0]
-     partial_datas = {
-              'partner_id': pick.address_id.partner_id.id,
-              'address_id': pick.address_id.id,
-              'delivery_date' : time.strftime('%Y-%m-%d'),
-           }
-     partial_datas['move%s'%(move.id)]= {
-       'product_id': move.product_id.id,
-       'product_qty': move.product_qty,
-       'product_uom': move.product_uom.id,
-      }
-     self.do_partial(cr, uid, picking_id,partial_datas)
--
- I receive the order of the supplier DistriPC from the Incoming Shipments menu.
--
-  !python {model: stock.picking }: |
-   import time
-   partner_id=self.pool.get('res.partner').search(cr,uid,[('name','=','Distrib PC')])[0]
-   picking_id = self.search(cr, uid, [('address_id.partner_id','=',partner_id),('type','=','in')])
-   if picking_id:
-      pick=self.browse(cr,uid,picking_id[0])
-      move =pick.move_lines[0]
-      partial_datas = {
-           'partner_id':pick.address_id.partner_id.id,
-            'address_id': pick.address_id.id,
-            'delivery_date' : time.strftime('%Y-%m-%d'),
-           }
-      partial_datas['move%s'%(move.id)]= {
-          'product_id': move.product_id.id,
-          'product_qty': move.product_qty,
-          'product_uom': move.product_uom.id,
-      }
-      self.do_partial(cr, uid, picking_id,partial_datas)
--
-  I check that the delivery order of the customer is in the state Available.
--
-  !python {model: stock.picking }: |
-   from tools.translate import _
-   picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001'),('type','=','out')])
-   if picking_id:
-      pick=self.browse(cr,uid,picking_id[0])
-      assert(pick.state == 'assigned'), _('Picking  is  not in available state')
-