mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-18 07:12:01 +02:00
48 lines
2 KiB
Python
48 lines
2 KiB
Python
# Copyright 2018 Camptocamp SA
|
|
# Copyright 2020 ForgeFlow S.L. (https://www.forgeflow.com)
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from dateutil.relativedelta import relativedelta
|
|
|
|
from .test_common import TestDDMRPAdjustmentCommon
|
|
|
|
|
|
class TestAdjustmentWizard(TestDDMRPAdjustmentCommon):
|
|
def test_adjustment_generation(self):
|
|
wiz = self._create_adjustment_wizard(3)
|
|
self.assertEqual(len(wiz.line_ids), 0)
|
|
wiz.apply_daf = True
|
|
wiz.apply_ltaf = True
|
|
wiz._onchange_sheet()
|
|
self.assertEqual(len(wiz.line_ids), 6)
|
|
|
|
next_month = self.now + relativedelta(months=1)
|
|
following_month = self.now + relativedelta(months=2)
|
|
values = {
|
|
"DAF": {
|
|
getattr(self, "month_%i_%i" % (self.now.year, self.now.month)): 1.5,
|
|
getattr(self, "month_%i_%i" % (next_month.year, next_month.month)): 2,
|
|
getattr(
|
|
self, "month_%i_%i" % (following_month.year, following_month.month)
|
|
): 1.8,
|
|
},
|
|
"LTAF": {
|
|
getattr(self, "month_%i_%i" % (self.now.year, self.now.month)): 2,
|
|
getattr(self, "month_%i_%i" % (next_month.year, next_month.month)): 2.5,
|
|
getattr(
|
|
self, "month_%i_%i" % (following_month.year, following_month.month)
|
|
): 2,
|
|
},
|
|
}
|
|
for line in wiz.line_ids:
|
|
line.value = values.get(line.factor).get(line.date_range_id)
|
|
|
|
demand_adjustment_ids = wiz.button_validate().get("domain")[0][2]
|
|
self.assertEqual(len(demand_adjustment_ids), 6)
|
|
adjustments = self.env["ddmrp.adjustment"].browse(demand_adjustment_ids)
|
|
for adj in adjustments:
|
|
self.assertEqual(adj.buffer_id, self.buffer)
|
|
if adj.adjustment_type == "DAF":
|
|
self.assertEqual(adj.value, values.get("DAF").get(adj.date_range_id))
|
|
if adj.adjustment_type == "LTAF":
|
|
self.assertEqual(adj.value, values.get("LTAF").get(adj.date_range_id))
|