# Author: Leonardo Pistone # Copyright 2015 Camptocamp SA # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . from openerp.tests.common import TransactionCase class TestCreateInvoice(TransactionCase): def setUp(self): super(TestCreateInvoice, self).setUp() self.Wizard = self.env['stock.invoice.onshipping'] self.customer = self.env.ref('base.res_partner_3') product = self.env.ref('product.product_product_36') dropship_route = self.env.ref('stock_dropshipping.route_drop_shipping') self.so = self.env['sale.order'].create({ 'partner_id': self.customer.id, }) self.sol = self.env['sale.order.line'].create({ 'name': '/', 'order_id': self.so.id, 'product_id': product.id, 'route_id': dropship_route.id, }) def test_po_on_delivery_creates_correct_invoice(self): self.so.action_button_confirm() po = self.so.procurement_group_id.procurement_ids.purchase_id self.assertTrue(po) po.invoice_method = 'picking' po.signal_workflow('purchase_confirm') picking = po.picking_ids self.assertEqual(1, len(picking)) picking.action_done() wizard = self.Wizard.with_context({ 'active_id': picking.id, 'active_ids': [picking.id], }).create({}) invoice_ids = wizard.create_invoice() invoices = self.env['account.invoice'].browse(invoice_ids) self.assertEqual(1, len(invoices)) self.assertEqual(invoices.type, 'in_invoice') self.assertEqual(invoices, po.invoice_ids)