mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
82 lines
3.3 KiB
Python
82 lines
3.3 KiB
Python
# Copyright 2020 Jarsa Sistemas, S.A. de C.V.
|
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
|
|
|
|
from odoo import fields
|
|
from odoo.exceptions import ValidationError
|
|
|
|
from odoo.addons.stock_request.tests.test_stock_request import TestStockRequest
|
|
|
|
|
|
class TestStockRequestPartner(TestStockRequest):
|
|
def setUp(self):
|
|
super(TestStockRequestPartner, self).setUp()
|
|
self.partner = self.env.ref("base.res_partner_12")
|
|
self.partner2 = self.env.ref("base.res_partner_2")
|
|
|
|
def test_stock_request_partner_to_picking(self):
|
|
vals = {
|
|
"product_id": self.product.id,
|
|
"product_uom_id": self.product.uom_id.id,
|
|
"product_uom_qty": 5.0,
|
|
"partner_id": self.partner.id,
|
|
}
|
|
request = (
|
|
self.stock_request.with_user(self.stock_request_manager)
|
|
.with_context(company_id=self.main_company.id)
|
|
.create(vals)
|
|
)
|
|
self.product.route_ids = [(6, 0, self.route.ids)]
|
|
request.with_user(self.stock_request_manager).action_confirm()
|
|
self.assertEqual(request.picking_ids.partner_id, self.partner)
|
|
|
|
def test_stock_request_order(self):
|
|
expected_date = fields.Datetime.now()
|
|
product2 = self._create_product("SH2", "Shoes 2", False)
|
|
vals = {
|
|
"partner_id": self.partner.id,
|
|
"company_id": self.main_company.id,
|
|
"warehouse_id": self.warehouse.id,
|
|
"location_id": self.warehouse.lot_stock_id.id,
|
|
"expected_date": expected_date,
|
|
"stock_request_ids": [
|
|
(
|
|
0,
|
|
0,
|
|
{
|
|
"partner_id": self.partner.id,
|
|
"product_id": self.product.id,
|
|
"product_uom_id": self.product.uom_id.id,
|
|
"product_uom_qty": 5.0,
|
|
"company_id": self.main_company.id,
|
|
"warehouse_id": self.warehouse.id,
|
|
"location_id": self.warehouse.lot_stock_id.id,
|
|
"expected_date": expected_date,
|
|
},
|
|
),
|
|
(
|
|
0,
|
|
0,
|
|
{
|
|
"partner_id": self.partner.id,
|
|
"product_id": product2.id,
|
|
"product_uom_id": product2.uom_id.id,
|
|
"product_uom_qty": 10.0,
|
|
"company_id": self.main_company.id,
|
|
"warehouse_id": self.warehouse.id,
|
|
"location_id": self.warehouse.lot_stock_id.id,
|
|
"expected_date": expected_date,
|
|
},
|
|
),
|
|
],
|
|
}
|
|
order = self.request_order.with_user(self.stock_request_user).create(vals)
|
|
order.partner_id = self.partner2
|
|
order._onchange_partner_id()
|
|
self.assertEqual(order.stock_request_ids.partner_id, self.partner2)
|
|
with self.assertRaises(ValidationError):
|
|
order.stock_request_ids[0].partner_id = self.partner
|
|
self.product.route_ids = [(6, 0, self.route.ids)]
|
|
product2.route_ids = [(6, 0, self.route.ids)]
|
|
order.with_user(self.stock_request_manager).action_confirm()
|
|
self.assertEqual(len(order.picking_ids), 1)
|