Public release from ruodoo-project: 19.0 - 2026-05-10 21:19:01 UTC
This commit is contained in:
70
mklab_base_indicators/tests/test_hg_index.py
Normal file
70
mklab_base_indicators/tests/test_hg_index.py
Normal file
@ -0,0 +1,70 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from odoo.tests.common import TransactionCase
|
||||
from odoo import fields
|
||||
|
||||
|
||||
class TestHgIndex(TransactionCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.code = self.env['hg.index.code'].create({'name': 'Код для теста'})
|
||||
self.node = self.env['hg.node'].create({
|
||||
'name': 'Вершина для теста',
|
||||
'res_model': 'hg.node',
|
||||
'res_id': 1,
|
||||
})
|
||||
self.index = self.env['hg.index'].create({
|
||||
'name': 'Тестовый показатель',
|
||||
'internal_code_id': self.code.id,
|
||||
'external_code': 'TEST-001',
|
||||
'public': True,
|
||||
'node_id': self.node.id,
|
||||
})
|
||||
|
||||
def test_create(self):
|
||||
self.assertEqual(self.index.name, 'Тестовый показатель')
|
||||
self.assertEqual(self.index.external_code, 'TEST-001')
|
||||
self.assertTrue(self.index.public)
|
||||
|
||||
def test_current_value_no_values(self):
|
||||
self.assertEqual(self.index.current_value, 0)
|
||||
|
||||
def test_current_value_with_past_value(self):
|
||||
self.env['hg.value'].create({
|
||||
'index_id': self.index.id,
|
||||
'value_float_actual': 12345.0,
|
||||
'value_float_plan': 15000.0,
|
||||
'date_due': '2020-01-01',
|
||||
'type': 'alone',
|
||||
})
|
||||
self.index._compute_current_value()
|
||||
self.assertEqual(self.index.current_value, 12345.0)
|
||||
|
||||
def test_current_value_picks_latest(self):
|
||||
self.env['hg.value'].create({
|
||||
'index_id': self.index.id,
|
||||
'value_float_actual': 1000.0,
|
||||
'date_due': '2020-01-01',
|
||||
'type': 'alone',
|
||||
})
|
||||
self.env['hg.value'].create({
|
||||
'index_id': self.index.id,
|
||||
'value_float_actual': 9999.0,
|
||||
'date_due': '2020-06-01',
|
||||
'type': 'alone',
|
||||
})
|
||||
self.index._compute_current_value()
|
||||
self.assertEqual(self.index.current_value, 9999.0)
|
||||
|
||||
def test_current_value_ignores_future(self):
|
||||
self.env['hg.value'].create({
|
||||
'index_id': self.index.id,
|
||||
'value_float_actual': 5000.0,
|
||||
'date_due': '2099-01-01',
|
||||
'type': 'alone',
|
||||
})
|
||||
self.index._compute_current_value()
|
||||
self.assertEqual(self.index.current_value, 0)
|
||||
|
||||
def test_calc_returns_true(self):
|
||||
self.assertTrue(self.index.calc())
|
||||
Reference in New Issue
Block a user