[IMP]purchase: Improve code for: cancel previously created PO
bzr revid: dbr@tinyerp.com-20111011072943-m2kyrozmvo0xjps3
This commit is contained in:
@@ -65,9 +65,9 @@ Dashboard for purchase management that includes:
|
||||
'test/process/purchase_from_picking.yml',
|
||||
'test/process/procurement_buy.yml',
|
||||
'test/process/merge_purchase_order.yml',
|
||||
'test/process/purchase_order_cancel.yml',
|
||||
'test/process/purchase_report.yml',
|
||||
'test/purchase_order_cancel_draft.yml'
|
||||
],
|
||||
],
|
||||
'demo': [
|
||||
'purchase_demo.xml',
|
||||
'purchase_unit_test.xml',
|
||||
|
||||
@@ -1,114 +1,25 @@
|
||||
-
|
||||
In order to test to Cancel purchase order from Approved State,I start by creating a new product 'Pen Drive1'
|
||||
In order to test to Cancel purchase order from Different State,I start by cancel the previously created PO.
|
||||
-
|
||||
!record {model: product.product, id: product_product_pendrive1}:
|
||||
categ_id: 'product.product_category_3'
|
||||
cost_method: standard
|
||||
mes_type: fixed
|
||||
name: Pen Drive
|
||||
price_margin: 1.0
|
||||
procure_method: make_to_order
|
||||
property_stock_inventory: stock.location_inventory
|
||||
property_stock_procurement: stock.location_procurement
|
||||
property_stock_production: stock.location_production
|
||||
standard_price: 500.0
|
||||
supply_method: buy
|
||||
type: product
|
||||
uom_id: product.product_uom_unit
|
||||
uom_po_id: product.product_uom_unit
|
||||
Now I have to cancel previously created purchase order for product 'Side Panel'.
|
||||
-
|
||||
I create first purchase order for Pen Drive1 where "invoice_method" is From Order.
|
||||
-
|
||||
!record {model: purchase.order, id: purchase_order_pendrive1}:
|
||||
company_id: base.main_company
|
||||
date_order: !eval time.strftime('%Y-%m-%d')
|
||||
invoice_method: order
|
||||
location_id: stock.stock_location_stock
|
||||
order_line:
|
||||
- date_planned: !eval time.strftime('%Y-%m-%d')
|
||||
name: Pen Drive
|
||||
price_unit: 500.0
|
||||
product_id: 'product_product_pendrive1'
|
||||
product_qty: 10.0
|
||||
product_uom: product.product_uom_unit
|
||||
partner_address_id: base.res_partner_address_7
|
||||
partner_id: base.res_partner_4
|
||||
pricelist_id: purchase.list0
|
||||
-
|
||||
Initially purchase order is in the draft state.
|
||||
-
|
||||
!assert {model: purchase.order, id: purchase_order_pendrive1}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I confirm the purchase order for Pen Drive1.
|
||||
-
|
||||
!workflow {model: purchase.order, action: purchase_confirm, ref: purchase_order_pendrive1}
|
||||
-
|
||||
I check that the order which was initially in the draft state has transmit to confirm state.
|
||||
-
|
||||
!assert {model: purchase.order, id: purchase_order_pendrive1}:
|
||||
- state == 'approved'
|
||||
-
|
||||
I have to first cancel Picking of Approved Purchase order .
|
||||
I have to first cancel Picking of Purchase order .
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
search_ids=self.search(cr, uid, [('purchase_id', '=', ref("purchase_order_pendrive1"))])
|
||||
search_ids=self.search(cr, uid, [('purchase_id', '=', ref("purchase_order_po1"))])
|
||||
self.action_cancel(cr, uid, search_ids)
|
||||
-
|
||||
Now I have to cancel confirm purchase order for Pen Drive1.
|
||||
Now I have to cancel purchase order for product 'Side Panel'.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
self.action_cancel(cr, uid, [ref("purchase_order_pendrive1")])
|
||||
self.action_cancel(cr, uid, [ref("purchase_order_po1")])
|
||||
-
|
||||
I check that the order which was in approved state has transmit to cancel state.
|
||||
-
|
||||
!assert {model: purchase.order, id: purchase_order_pendrive1}:
|
||||
- state == 'cancel'
|
||||
-
|
||||
Now again set purchase order for Pen Drive1 to draft state.
|
||||
Now again set purchase order for product 'Side Panel' to draft state.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
self.action_cancel_draft(cr, uid, [ref("purchase_order_pendrive1")])
|
||||
self.action_cancel_draft(cr, uid, [ref("purchase_order_po1")])
|
||||
-
|
||||
I check that the First purchase order is in draft state.
|
||||
Initially purchase order is in the draft state.
|
||||
-
|
||||
!assert {model: purchase.order, id: purchase_order_pendrive1}:
|
||||
!assert {model: purchase.order, id: purchase_order_po1}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I test for Copy and Delete Perchase order in Draft state.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
copy_id = self.copy(cr, uid, ref("purchase_order_pendrive1"))
|
||||
self.unlink(cr, uid, [copy_id])
|
||||
-
|
||||
I create Second purchase order for Pen Drive1 where "invoice_method" is From Order.
|
||||
-
|
||||
!record {model: purchase.order, id: purchase_order_pendrive2}:
|
||||
company_id: base.main_company
|
||||
date_order: !eval time.strftime('%Y-%m-%d')
|
||||
invoice_method: order
|
||||
location_id: stock.stock_location_stock
|
||||
order_line:
|
||||
- date_planned: !eval time.strftime('%Y-%m-%d')
|
||||
name: Pen Drive
|
||||
price_unit: 500.0
|
||||
product_id: 'product_product_pendrive1'
|
||||
product_qty: 10.0
|
||||
product_uom: product.product_uom_unit
|
||||
partner_address_id: base.res_partner_address_7
|
||||
partner_id: base.res_partner_4
|
||||
pricelist_id: purchase.list0
|
||||
-
|
||||
Initially Second purchase order is in the draft state.
|
||||
-
|
||||
!assert {model: purchase.order, id: purchase_order_pendrive2}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I have merged first and second purchase order which are in draft state, belong to the same supplier,have same stock location, same pricelist.
|
||||
-
|
||||
!python {model: purchase.order.group}: |
|
||||
ids = [ref("purchase_order_pendrive1"),ref("purchase_order_pendrive2")]
|
||||
self.fields_view_get(cr, uid, context={'active_ids': ids})
|
||||
self.merge_orders(cr, uid, [1], context={'active_ids': ids})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user