[IMP] stock_dropshipping: adaptation due to the new Purchase module

Major changes:
- Adaptation of tests

Reason: complete rewrite of the Purchase module.

Responsible: fp, nim
This commit is contained in:
Nicolas Martinelli
2015-09-02 08:26:03 +02:00
parent 280f911350
commit 5fa1ccdcce
4 changed files with 17 additions and 17 deletions
@@ -87,15 +87,19 @@
purchase_ids = [proc.purchase_line_id.order_id for proc in self.browse(cr, uid, procu_ids) if proc.purchase_line_id]
assert len(purchase_ids) == 1, 'No purchase order found !'
# Check the total quantity on the purchase order which should be in Unit(s)
# Check the two purchase order lines
purchase_line = purchase_ids[0].order_line[0]
assert purchase_line.product_qty == 29.0, 'As we ordered 2 Dozen(s) and 5 Unit(s), total should be 29 Unit(s) and not %s' % (purchase_line.product_qty,)
assert purchase_line.product_qty == 5.0, 'The product quantity of the first order line should be 5 and not %s' % (purchase_line.product_qty,)
assert purchase_line.product_uom.id == ref("product.product_uom_unit"), 'The product UoM ID of the first order line should be %s and not %s' % (ref("product.product_uom_unit"), purchase_line.product_uom.id,)
purchase_line = purchase_ids[0].order_line[1]
assert purchase_line.product_qty == 2.0, 'The product quantity of the first order line should be 2 and not %s' % (purchase_line.product_qty,)
assert purchase_line.product_uom.id == ref("product.product_uom_dozen"), 'The product UoM ID of the second order line should be %s and not %s' % (ref("product.product_uom_dozen"), purchase_line.product_uom.id,)
# Let us cancel the procurement related to the 2nd sales order first and check that the 2 Dozen(s) are subtracted correctly
so2 = self.pool.get('sale.order').browse(cr, uid, ref('sale_order_product_mto2'))
self.cancel(cr, uid, [so2.order_line[0].procurement_ids[0].id], context=context)
assert so2.order_line[0].procurement_ids[0].state == u'cancel', 'Main procurement should be cancelled !'
assert purchase_line.product_qty == 5.0, 'As we ordered 2 Dozen(s) and 5 Unit(s) and cancelled the two Dozen, total should be 5 Unit(s) and not %s' % (purchase_line.product_qty,)
# Cancel the main procurement from the sale order in units
main_procu_id = self.search(cr, uid, [('origin', '=', so.name)])
@@ -106,7 +110,3 @@
# Check that all procurements related are cancelled
for procu in self.browse(cr, uid, procu_ids, context=context):
assert procu.state == u'cancel', 'Procurement %d should be cancelled but is with a state : %s!' %(procu.id, procu.state)
# Check that the purchase order is cancelled
for po in self.pool.get('purchase.order').browse(cr, uid, [po.id for po in purchase_ids], context=context):
assert po.state == u'cancel', 'Purchase order %d should be cancelled but is in state : %s!' %(po.id, po.state)
+1 -1
View File
@@ -56,4 +56,4 @@
-
!python {model: purchase.order}: |
po_id = self.search(cr, uid, [('partner_id', '=', ref('supplier_crossdock')), ('state','=','draft')])
self.wkf_confirm_order(cr, uid, po_id)
self.button_confirm(cr, uid, po_id)
+4 -4
View File
@@ -47,20 +47,20 @@
Check a quotation was created to a certain vendor and confirm so it becomes a confirmed purchase order
-
!python {model: purchase.order}: |
from openerp import netsvc, workflow
from openerp import netsvc
sale_record = self.pool.get("sale.order").browse(cr, uid, ref('sale_order_drp_shpng'))
procurement_order = self.pool.get("procurement.group").browse(cr, uid, sale_record.procurement_group_id.id).procurement_ids[0]
purchase_id = procurement_order.purchase_line_id.order_id.id
workflow.trg_validate(uid, 'purchase.order', purchase_id, 'purchase_confirm', cr)
self.button_confirm(cr, uid, purchase_id)
po_id = self.pool.get('purchase.order').search(cr, uid, [('partner_id', '=', ref('supplier_dropship'))])
assert self.browse(cr, uid, purchase_id).state == 'approved', 'Purchase order should be in the approved state'
assert self.browse(cr, uid, purchase_id).state == 'purchase', 'Purchase order should be in the approved state'
-
Use 'Receive Products' button to immediately view this picking, it should have created a picking with 200 pieces
-
!python {model: purchase.order}: |
po_id = self.search(cr, uid, [('partner_id', '=', ref('supplier_dropship'))])
self.view_picking(cr, uid, po_id)
assert len(po_id) == 1, 'There should be one picking'
-
Send the 200 pieces.
-
@@ -32,7 +32,6 @@
-
!record {model: purchase.order, id: purchase_order_lifo1}:
partner_id: base.res_partner_3
location_id: stock.stock_location_stock
order_line:
- product_id: product_lifo_icecream
product_qty: 10.0
@@ -44,7 +43,6 @@
-
!record {model: purchase.order, id: purchase_order_lifo2}:
partner_id: base.res_partner_3
location_id: stock.stock_location_stock
order_line:
- product_id: product_lifo_icecream
product_qty: 30.0
@@ -54,12 +52,13 @@
-
I confirm the first purchase order
-
!workflow {model: purchase.order, action: purchase_confirm, ref: purchase_order_lifo1}
!python {model: purchase.order}: |
self.button_confirm(cr, uid, [ref("purchase_order_lifo1")])
-
I check the "Approved" status of purchase order 1
-
!assert {model: purchase.order, id: purchase_order_lifo1}:
- state == 'approved'
- state == 'purchase'
-
Process the receipt of purchase order 1
-
@@ -74,7 +73,8 @@
-
I confirm the second purchase order
-
!workflow {model: purchase.order, action: purchase_confirm, ref: purchase_order_lifo2}
!python {model: purchase.order}: |
self.button_confirm(cr, uid, [ref("purchase_order_lifo2")])
-
Process the receipt of purchase order 2
-