From dc70ffdd2e3811dc8855400cabdafc6228f05de0 Mon Sep 17 00:00:00 2001 From: "DBR (OpenERP)" Date: Tue, 11 Oct 2011 17:15:07 +0530 Subject: [PATCH] [IMP]purchase: Improve code for invoice and cancel process bzr revid: dbr@tinyerp.com-20111011114507-351e9wr94gio2rju --- .../purchase/test/process/create_invoice.yml | 12 ++++++ .../test/process/purchase_from_picking.yml | 42 +++++++++---------- .../test/process/purchase_order_cancel.yml | 19 ++++++++- 3 files changed, 50 insertions(+), 23 deletions(-) diff --git a/addons/purchase/test/process/create_invoice.yml b/addons/purchase/test/process/create_invoice.yml index f7eda79e37f..069f4e72cb2 100644 --- a/addons/purchase/test/process/create_invoice.yml +++ b/addons/purchase/test/process/create_invoice.yml @@ -41,3 +41,15 @@ account_obj = self.pool.get('account.invoice') ids = account_obj.search(cr, uid, [('origin', '=', pur_id1.name)]) assert ids, _('Pending Invoice is not created!') +- + I check that an entry gets created in the stock moves. +- + !python {model: purchase.order}: | + from tools.translate import _ + pur_id1=self.browse(cr, uid, ref("purchase_order_po0")) + picking_obj = self.pool.get('stock.picking') + ids = picking_obj.search(cr, uid, [('origin', '=', pur_id1.name)]) + pick_id = picking_obj.browse(cr, uid, ids)[0] + move_obj = self.pool.get('stock.move') + search_id = move_obj.search(cr, uid, [('picking_id', '=', pick_id.name)]) + assert search_id, _('No Incoming Product!') diff --git a/addons/purchase/test/process/purchase_from_picking.yml b/addons/purchase/test/process/purchase_from_picking.yml index 7d6fbcf69b0..595b3e3d9f3 100644 --- a/addons/purchase/test/process/purchase_from_picking.yml +++ b/addons/purchase/test/process/purchase_from_picking.yml @@ -1,15 +1,3 @@ -- - I check that an entry gets created in the stock moves. -- - !python {model: purchase.order}: | - from tools.translate import _ - pur_id1=self.browse(cr, uid, ref("purchase_order_po0")) - picking_obj = self.pool.get('stock.picking') - ids = picking_obj.search(cr, uid, [('origin', '=', pur_id1.name)]) - pick_id = picking_obj.browse(cr, uid, ids)[0] - move_obj = self.pool.get('stock.move') - search_id = move_obj.search(cr, uid, [('picking_id', '=', pick_id.name)]) - assert search_id, _('No Incoming Product!') - I create a new Purchase order where "invoice_method" is From Picking - @@ -40,16 +28,28 @@ pur_id=self.browse(cr, uid, ref("purchase_order_po1")) assert(pur_id.picking_ids) - - I check that an entry gets created related to stock move. + Then I create an further process from picking by clicking on "process" button - - !python {model: purchase.order}: | - pur_id1=self.browse(cr, uid, ref("purchase_order_po1")) - picking_obj = self.pool.get('stock.picking') - ids = picking_obj.search(cr, uid, [('origin', '=', pur_id1.name)]) - pick_id = picking_obj.browse(cr, uid, ids)[0] - move_obj = self.pool.get('stock.move') - search_id = move_obj.search(cr, uid, [('picking_id', '=', pick_id.name)]) - assert search_id, 'No Incoming Product!' + !python {model: stock.picking}: | + import time + pur_obj=self.pool.get('purchase.order') + pur_id1=pur_obj.browse(cr, uid, ref("purchase_order_po1")) + pick_ids = [x.id for x in pur_id1.picking_ids] + self.action_process(cr, uid, pick_ids) + pickings = self.browse(cr, uid, pick_ids) + for picking in pickings: + move = picking.move_lines[0] + partial_datas = { + 'partner_id': picking.address_id.partner_id.id, + 'address_id': picking.address_id.id, + 'delivery_date' : time.strftime('%Y-%m-%d') + } + partial_datas['move%s'%(move.id)]= { + 'product_id': move.product_id, + 'product_qty': move.product_qty, + 'product_uom': move.product_uom.id, + } + self.do_partial(cr, uid, [picking.id], partial_datas) - Then I create an invoice from picking by clicking on "Create Invoice" wizard - diff --git a/addons/purchase/test/process/purchase_order_cancel.yml b/addons/purchase/test/process/purchase_order_cancel.yml index 279baddd86b..a2b3f42f2ec 100644 --- a/addons/purchase/test/process/purchase_order_cancel.yml +++ b/addons/purchase/test/process/purchase_order_cancel.yml @@ -1,5 +1,5 @@ - - In order to test to Cancel purchase order from Different State,I start by cancel the previously created PO. + In order to test to Cancel purchase order from Different State,I start cancel the previously created PO. - Now I have to cancel previously created purchase order for product 'Side Panel'. - @@ -9,10 +9,15 @@ search_ids=self.search(cr, uid, [('purchase_id', '=', ref("purchase_order_po1"))]) self.action_cancel(cr, uid, search_ids) - - Now I have to cancel purchase order for product 'Side Panel'. + Now I am able to cancel purchase order for product 'Side Panel' because related picking was cancel. - !python {model: purchase.order}: | self.action_cancel(cr, uid, [ref("purchase_order_po1")]) +- + Initially purchase order is in the cancel state. +- + !assert {model: purchase.order, id: purchase_order_po1}: + - state == 'cancel' - Now again set purchase order for product 'Side Panel' to draft state. - @@ -23,3 +28,13 @@ - !assert {model: purchase.order, id: purchase_order_po1}: - state == 'draft' +- + I have to cancel PO form draft state. +- + !python {model: purchase.order}: | + self.action_cancel(cr, uid, [ref("purchase_order_po1")]) +- + Initially purchase order is in the cancel state. +- + !assert {model: purchase.order, id: purchase_order_po1}: + - state == 'cancel'