Files
stock-logistics-warehouse/stock_location_tray/tests/common.py

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)