- In order to test Carrier Cost, - I add delivery cost in Sale order. - !python {model: delivery.sale.order}: | context.update({'active_ids': [ref("sale.order")]}) - !record {model: delivery.sale.order, id: sale_delivery_carrier}: {} - !python {model: delivery.sale.order}: | self.delivery_set(cr, uid, [ref('sale_delivery_carrier')], context=context) - I check sale order after added delivery cost. - !python {model: sale.order.line}: | line_ids = self.search(cr, uid, [('order_id','=', ref('sale.order')), ('product_id','=', ref('delivery_product'))]) assert len(line_ids), "Delivery cost is not Added" line_data = self.browse(cr ,uid ,line_ids[0] ,context) assert line_data.price_subtotal == 10, "Delivey cost is not correspond." - I confirm the sale order. - !workflow {model: sale.order, action: order_confirm, ref: sale.order} - I create Invoice from shipment. - !python {model: stock.invoice.onshipping}: | sale = self.pool.get('sale.order') sale_order = sale.browse(cr, uid, ref("sale.order")) ship_ids = [x.id for x in sale_order.picking_ids] wiz_id = self.create(cr, uid, {'journal_id': ref('account.sales_journal')}, {'active_ids': ship_ids, 'active_model': 'stock.picking'}) self.create_invoice(cr, uid, [wiz_id], {"active_ids": ship_ids, "active_id": ship_ids[0]}) - I print a Delivery Order report. - !python {model: stock.picking}: | import netsvc, tools, os sale = self.pool.get('sale.order') sale_order = sale.browse(cr, uid, ref("sale.order")) ship_ids = [x.id for x in sale_order.picking_ids] (data, format) = netsvc.LocalService('report.sale.shipping').create(cr, uid, ship_ids, {}, {}) if tools.config['test_report_directory']: file(os.path.join(tools.config['test_report_directory'], 'delivery-shipping'+format), 'wb+').write(data) - I add free delivery cost in Sale order. - !python {model: delivery.sale.order}: | context.update({'active_ids': [ref("sale.order2")]}) - !record {model: delivery.sale.order, id: sale_delivery_carrier}: {} - !python {model: delivery.sale.order}: | self.delivery_set(cr, uid, [ref('sale_delivery_carrier')], context=context) - I check sale order after added delivery cost. - !python {model: sale.order.line}: | line_ids = self.search(cr, uid, [('order_id','=', ref('sale.order2')), ('product_id','=', ref('delivery_product'))]) assert len(line_ids), "Delivery cost is not Added" line_data = self.browse(cr ,uid ,line_ids[0] ,context) assert line_data.price_subtotal == 0, "Delivey cost is not correspond." - I set default delivery policy. - !record {model: delivery.define.delivery.steps.wizard, id: default_delivery_policy}: {} - !python {model: delivery.define.delivery.steps.wizard}: | self.apply_cb(cr, uid, [ref('default_delivery_policy')], context=context)