mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
# Copyright 2019 Camptocamp SA
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo.tests import common
|
|
|
|
|
|
class LocationTrayTypeCase(common.SavepointCase):
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
cls.wh = cls.env.ref("stock.warehouse0")
|
|
cls.stock_location = cls.env.ref("stock.stock_location_stock")
|
|
cls.product = cls.env.ref("product.product_delivery_02")
|
|
cls.tray_location = cls.env.ref("stock_location_tray.stock_location_tray_demo")
|
|
cls.tray_type_small_8x = cls.env.ref(
|
|
"stock_location_tray.stock_location_tray_type_small_8x"
|
|
)
|
|
cls.tray_type_small_32x = cls.env.ref(
|
|
"stock_location_tray.stock_location_tray_type_small_32x"
|
|
)
|
|
|
|
def _create_tray_z(self, tray_type=None):
|
|
tray_type = tray_type or self.tray_type_small_8x
|
|
tray_z = self.env["stock.location"].create(
|
|
{
|
|
"name": "Tray Z",
|
|
"location_id": self.stock_location.id,
|
|
"usage": "internal",
|
|
"tray_type_id": tray_type.id,
|
|
}
|
|
)
|
|
return tray_z
|
|
|
|
def _cell_for(self, tray, x=1, y=1):
|
|
cell = self.env["stock.location"].search(
|
|
[("location_id", "=", tray.id), ("posx", "=", x), ("posy", "=", y)]
|
|
)
|
|
self.assertEqual(
|
|
len(cell), 1, "Cell x{}y{} not found for {}".format(x, y, tray.name)
|
|
)
|
|
return cell
|
|
|
|
def _update_quantity_in_cell(self, cell, product, quantity):
|
|
self.env["stock.quant"]._update_available_quantity(product, cell, quantity)
|