57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
# -*- 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())
|