[IMP] Purchase: Remove statement from yml
[odoo/odoo.git] / addons / purchase / test / purchase_order_cancel_draft.yml
1 -
2   In order to test to Cancel purchase order from Approved State,I start by creating a new product 'Pen Drive1'
3 -
4  !record {model: product.product, id: product_product_pendrive1}:
5     categ_id: 'product.product_category_3'
6     cost_method: standard
7     mes_type: fixed
8     name: Pen Drive
9     price_margin: 1.0
10     procure_method: make_to_order
11     property_stock_inventory: stock.location_inventory
12     property_stock_procurement: stock.location_procurement
13     property_stock_production: stock.location_production
14     seller_delay: '1'
15     standard_price: 500.0
16     supply_method: buy
17     type: product
18     uom_id: product.product_uom_unit
19     uom_po_id: product.product_uom_unit
20     volume: 0.0
21     warranty: 0.0
22     weight: 0.0
23     weight_net: 0.0
24 -
25   Create second  new product 'Pen Drive2'
26 -
27  !record {model: product.product, id: product_product_pendrive2}:
28     categ_id: 'product.product_category_3'
29     cost_method: standard
30     mes_type: fixed
31     name: Pen Drive 2
32     price_margin: 1.0
33     procure_method: make_to_order
34     property_stock_inventory: stock.location_inventory
35     property_stock_procurement: stock.location_procurement
36     property_stock_production: stock.location_production
37     seller_delay: '1'
38     standard_price: 500.0
39     supply_method: buy
40     type: product
41     uom_id: product.product_uom_unit
42     uom_po_id: product.product_uom_unit
43     volume: 0.0
44     warranty: 0.0
45     weight: 0.0
46     weight_net: 0.0
47 -
48   I create first purchase order for Pen Drive1 where "invoice_method" is From Order.
49 -
50   !record {model: purchase.order, id: purchase_order_pendrive1}:
51     company_id: base.main_company
52     date_order: !eval time.strftime('%Y-%m-%d')
53     invoice_method: order
54     location_id: stock.stock_location_stock
55     order_line:
56       - date_planned: !eval time.strftime('%Y-%m-%d')
57         name: Pen Drive
58         price_unit: 100.0
59         product_id: 'product_product_pendrive1'
60         product_qty: 10.0
61         product_uom: product.product_uom_unit
62         state: draft
63     partner_address_id: base.res_partner_address_7
64     partner_id: base.res_partner_4
65     pricelist_id: purchase.list0
66 -
67   Initially  purchase order is in the draft state.
68 -
69   !assert {model: purchase.order, id: purchase_order_pendrive1}:
70     - state == 'draft'
71 -
72   I test onchanged on Wharehouse ,Product, Uom, Destination Address .
73 -
74   !python {model: purchase.order}: |
75     from tools.translate import _
76     self.onchange_warehouse_id(cr, uid, [ref("purchase_order_pendrive1")], 1)
77     part_obj = self.pool.get('res.partner')
78     price_obj = self.pool.get('product.pricelist')
79     product_obj = self.pool.get('product.product')
80     addrss_obj = self.pool.get('res.partner.address')
81     po_line_obj = self.pool.get('purchase.order.line')
82     uom_obj = self.pool.get('product.uom')
83     price_id = price_obj.search(cr, uid, [('name','=','Default Purchase Pricelist')])
84     product_id = product_obj.search(cr, uid, [('name','=','Pen Drive 2')])
85     uom_id = uom_obj.search(cr, uid, [('name','=','PCE')])
86     part_ids = part_obj.search(cr, uid, [('name','=','Distrib PC')])
87     line_id = po_line_obj.search(cr, uid, [('order_id','=',ref("purchase_order_pendrive1"))])
88     po_line_obj.product_id_change(cr, uid, line_id[0], price_id[0], product_id[0], 10, uom_id[0], part_ids[0])
89     po_line_obj.product_uom_change(cr, uid, line_id[0], price_id[0], product_id[0], 10, uom_id[0], part_ids[0])
90     address_id = addrss_obj.search(cr, uid, [('partner_id','=',part_ids)])
91     self.onchange_dest_address_id(cr, uid, [ref("purchase_order_pendrive1")], address_id[0])
92 -
93   I confirm the purchase order for Pen Drive1.
94 -
95   !workflow {model: purchase.order, action: purchase_confirm, ref: purchase_order_pendrive1}
96 -
97   I check that the order which was initially in the draft state has transmit to confirm state.
98 -
99   !assert {model: purchase.order, id: purchase_order_pendrive1}:
100     - state == 'approved'
101 -
102   I have to first cancel Picking of Approved Purchase order .
103 -
104   !python {model: stock.picking}: |
105     from tools.translate import _
106     search_ids=self.search(cr, uid, [('purchase_id', '=', ref("purchase_order_pendrive1"))])
107     self.action_cancel(cr, uid, search_ids)
108 -
109   Now I have to cancel confirm  purchase order for Pen Drive1.
110 -
111   !python {model: purchase.order}: |
112     from tools.translate import _
113     self.action_cancel(cr, uid, [ref("purchase_order_pendrive1")])
114 -
115   I check that the order which was in approved state has transmit to cancel state.
116 -
117   !assert {model: purchase.order, id: purchase_order_pendrive1}:
118     - state == 'cancel'
119 -
120   Now again set purchase order for Pen Drive1 to draft state.
121 -
122   !python {model: purchase.order}: |
123     from tools.translate import _
124     self.action_cancel_draft(cr, uid, [ref("purchase_order_pendrive1")])   
125 -
126   I check that the order which was in cancel state has transmit to draft state.
127 -
128   !assert {model: purchase.order, id: purchase_order_pendrive1}:
129     - state == 'draft'
130 -
131   I test for Copy and Delete Perchase order in Draft state.
132 -
133   !python {model: purchase.order}: |
134     from tools.translate import _
135     self.copy(cr, uid, ref("purchase_order_pendrive1"))   
136     self.unlink(cr, uid, [ref("purchase_order_pendrive1")])   
137