55 lines
2.4 KiB
YAML
55 lines
2.4 KiB
YAML
-
|
|
Now I confirm the Quotation with "Invoice on order after delivery" policy.
|
|
-
|
|
!workflow {model: sale.order, action: order_confirm, ref: order2}
|
|
-
|
|
I check that related delivery order after confirmed.
|
|
-
|
|
!python {model: sale.order}: |
|
|
sale_order = self.browse(cr, uid, ref("order2"))
|
|
assert sale_order.picking_ids, "Delivery Order should be created."
|
|
assert len(sale_order.invoice_ids) == False, "Invoice should be not created."
|
|
-
|
|
Now, I dispatch delivery order.
|
|
-
|
|
!python {model: stock.partial.picking}: |
|
|
order = self.pool.get('sale.order').browse(cr, uid, ref("order2"))
|
|
for pick in order.picking_ids:
|
|
data = pick.force_assign()
|
|
if data == True:
|
|
partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': [pick.id]})
|
|
self.do_partial(cr, uid, [partial_id])
|
|
-
|
|
I open the invoice.
|
|
-
|
|
!python {model: sale.order}: |
|
|
import netsvc
|
|
wf_service = netsvc.LocalService("workflow")
|
|
order = self.browse(cr, uid, ref("order2"))
|
|
#assert order.invoice_ids, "Invoice should be created after dispatch delivery order."
|
|
for invoice in order.invoice_ids:
|
|
wf_service.trg_validate(uid, 'account.invoice', invoice.id, 'invoice_open', cr)
|
|
-
|
|
I pay the invoice.
|
|
-
|
|
!python {model: account.invoice}: |
|
|
sale_order = self.pool.get('sale.order')
|
|
order = sale_order.browse(cr, uid, ref("order2"))
|
|
journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', order.company_id.id)], limit=1)
|
|
for invoice in order.invoice_ids:
|
|
invoice.pay_and_reconcile(
|
|
invoice.amount_total, ref('account.cash'), ref('account.period_8'),
|
|
journal_ids[0], ref('account.cash'),
|
|
ref('account.period_8'), journal_ids[0],
|
|
name='test')
|
|
-
|
|
I check that an order has been invoiced, shipped and closed.
|
|
-
|
|
!python {model: sale.order}: |
|
|
order = self.browse(cr, uid, ref("order2"))
|
|
assert order.picked_rate == 100, "Shipment progress is not 100%."
|
|
#assert order.shipped, "Delivery Order should be dispatch." #TOFIX: procurement is gone in idle state so order never shipped, invoiced. after install mrp, it will be normal.
|
|
#assert order.invoiced == True, "Sale order is not invoiced."
|
|
#assert order.invoiced_rate == 100, "Invoiced progress is not 100%."
|
|
#assert order.state == 'done', 'Order should be in closed.'
|