[FIX] some tests in sale_Stock

bzr revid: fp@openerp.com-20130804175722-71ov6xopn7nu0y5s
This commit is contained in:
Fabien Pinckaers 2013-08-04 19:57:22 +02:00
parent ef4b7c69b2
commit 83053a16e3
4 changed files with 28 additions and 18 deletions

View File

@ -252,6 +252,7 @@
</record>
<record id="sale_order_8" model="sale.order">
<field name="name">Test/001</field>
<field name="partner_id" ref="base.res_partner_15"/>
<field name="partner_invoice_id" ref="base.res_partner_address_25"/>
<field name="partner_shipping_id" ref="base.res_partner_address_25"/>

View File

@ -53,7 +53,7 @@ class stock_picking(osv.osv):
], string="Invoice Control", required=True,
store={
'procurement.order': (__get_picking_procurement, ['invoice_state'], 10),
'stock.picking': (lambda self, cr, uid, ids, c={}: uid, ['state'], 10)
'stock.picking': (lambda self, cr, uid, ids, c={}: ids, ['state'], 10)
},
),
}
@ -70,7 +70,6 @@ class stock_picking(osv.osv):
"""
context = context or {}
todo = {}
print 'Invoice Create', ids, journal_id, group, type, context
for picking in self.browse(cr, uid, ids, context=context):
key = group and picking.id or True
for move in picking.move_lines:

View File

@ -4,30 +4,42 @@
-
!workflow {model: sale.order, action: order_confirm, ref: sale.sale_order_8}
-
I send delivery in two shipments, so I am doing a partial delivery order.
I do a partial delivery order.
-
!python {model: stock.picking}: |
delivery_orders = self.search(cr, uid, [('sale_id','=',ref("sale.sale_order_8"))])
first_picking = self.browse(cr, uid, delivery_orders[-1], context=context)
if first_picking.force_assign(cr, uid, first_picking):
first_move = first_picking.move_lines[0]
values = {'move%s'%(first_move.id): {'product_qty': 2, 'product_uom':ref('product.product_uom_unit')}}
first_picking.do_partial(values, context=context)
picks = self.search(cr, uid, [('origin','=','Test/001')])
pick = self.browse(cr, uid, picks[-1], context=context)
self.pool.get('stock.pack.operation').create(cr, uid, {
'picking_id': pick.id,
'product_id': ref('product.product_product_27'),
'product_uom_id': ref('product.product_uom_unit'),
'product_qty': 1
})
pick.do_partial(values, context=context)
-
Now I cancel latest shipment.
I test that I have two pickings, one done and one backorder to do
-
!python {model: stock.picking}: |
delivery_orders = self.search(cr, uid, [('sale_id','=',ref("sale.sale_order_8"))])
last_delivery_order_id = delivery_orders[-1]
self.pool.get('stock.picking').signal_button_cancel(cr, uid, [last_delivery_order_id])
picks = self.search(cr, uid, [('origin','=','Test/001')])
assert len(picks)>1, 'Only one picking, partial picking may have failed!'
picks = self.search(cr, uid, [('origin','=','Test/001'), ('state','=','done')])
assert len(picks)==1, 'You should have one delivery order which is done!'
picks = self.search(cr, uid, [('origin','=','Test/001'), ('backorder_id','=',picks[0])])
assert len(picks)==1, 'You should have one backorder to process!'
-
I cancel the backorder
-
!python {model: stock.picking}: |
picks = self.search(cr, uid, [('origin','=','Test/001'),('backorder_id','<>',False)])
self..action_cancel(cr, uid, picks)
-
I run the scheduler.
-
!python {model: procurement.order}: |
self.run_scheduler(cr, uid)
-
I check order status in "Ship Exception".
I check that the order status in "Ship Exception".
-
!assert {model: sale.order, id: sale.sale_order_8, string: Sale order should be in shipping exception}:
- state == "shipping_except"
@ -65,4 +77,4 @@
I check state of order in 'In Progress'.
-
!assert {model: sale.order, id: sale.sale_order_8, string: Sale order should be In progress state}:
- state == 'progress'
- state == 'progress'

View File

@ -95,9 +95,7 @@ class procurement_order(osv.osv):
return False
move_obj = self.pool.get('stock.move')
move_dict = self._run_move_create(cr, uid, procurement, context=context)
print '***', move_dict
move_id = move_obj.create(cr, uid, move_dict, context=context)
print '***', move_id, move_dict
move_obj.action_confirm(cr, uid, [move_id], context=context)
return move_id
return super(procurement_order, self)._run(cr, uid, procurement, context)