# -*- coding: utf-8 -*- from odoo.tests.common import TransactionCase class TestHgTemplates(TransactionCase): def setUp(self): super().setUp() self.code = self.env['hg.index.code'].create({'name': 'Код шаблона'}) self.index = self.env['hg.index'].create({ 'name': 'Показатель шаблона', 'internal_code_id': self.code.id, }) self.template = self.env['hg.templates'].create({'name': 'Тестовый шаблон'}) def test_template_create(self): self.assertEqual(self.template.name, 'Тестовый шаблон') self.assertFalse(self.template.line_ids) def test_add_line_to_template(self): line = self.env['hg.templates.line'].create({ 'template_id': self.template.id, 'index_id': self.index.id, 'date_due': '2025-03-31', 'value_float_plan': 250000.0, }) self.assertIn(line, self.template.line_ids) self.assertEqual(line.value_float_plan, 250000.0) self.assertEqual(line.index_id, self.index) def test_multiple_lines(self): index2 = self.env['hg.index'].create({'name': 'Второй показатель'}) self.env['hg.templates.line'].create({ 'template_id': self.template.id, 'index_id': self.index.id, 'date_due': '2025-01-31', 'value_float_plan': 100000.0, }) self.env['hg.templates.line'].create({ 'template_id': self.template.id, 'index_id': index2.id, 'date_due': '2025-02-28', 'value_float_plan': 200000.0, }) self.assertEqual(len(self.template.line_ids), 2) def test_line_cascade_delete(self): line = self.env['hg.templates.line'].create({ 'template_id': self.template.id, 'index_id': self.index.id, 'date_due': '2025-01-31', 'value_float_plan': 50000.0, }) line_id = line.id self.template.unlink() self.assertFalse(self.env['hg.templates.line'].browse(line_id).exists())