forked from Mapan/odoo17e
39 lines
1.8 KiB
Python
39 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields
|
|
from odoo.addons.approvals_purchase_stock.tests.common import TestApprovalsCommon
|
|
from odoo.tests.common import Form
|
|
|
|
class TestApprovalsPurchaseStock(TestApprovalsCommon):
|
|
|
|
def test_warehouse_01(self):
|
|
""" Check when a Purchase Request Approval with two product lines with
|
|
different warehouse will create two different purchase orders. """
|
|
request_form = self.create_request_form(approver=self.user_approver)
|
|
# Create a purchase product line.
|
|
with request_form.product_line_ids.new() as line:
|
|
line.product_id = self.product_computer
|
|
line.quantity = 2
|
|
line.warehouse_id = self.warehouse_1
|
|
with request_form.product_line_ids.new() as line:
|
|
line.product_id = self.product_computer
|
|
line.quantity = 4
|
|
line.warehouse_id = self.warehouse_2
|
|
request_purchase = request_form.save()
|
|
request_purchase.action_confirm()
|
|
request_purchase.with_user(self.user_approver).action_approve()
|
|
request_purchase.action_create_purchase_orders()
|
|
|
|
self.assertEqual(request_purchase.purchase_order_count, 2)
|
|
|
|
po_1 = request_purchase.product_line_ids[0].purchase_order_line_id.order_id
|
|
po_2 = request_purchase.product_line_ids[1].purchase_order_line_id.order_id
|
|
self.assertEqual(po_1.picking_type_id.id, self.wh_picking_type_1.id)
|
|
self.assertEqual(po_2.picking_type_id.id, self.wh_picking_type_2.id)
|
|
|
|
# Confirm POs via smart button and check pickings are created
|
|
button_context = request_purchase.action_open_purchase_orders()['context']
|
|
po_1.with_context(button_context).button_confirm()
|
|
po_2.with_context(button_context).button_confirm()
|