Public release from ruodoo-project: 19.0 - 2026-05-31 21:19:12 UTC

This commit is contained in:
CI Publish Bot
2026-05-31 21:19:21 +00:00
commit aa4214c195
1213 changed files with 183945 additions and 0 deletions

View File

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import test_report_wizard

View File

@ -0,0 +1,71 @@
# -*- coding: utf-8 -*-
from unittest.mock import patch
from odoo.tests.common import TransactionCase
class TestReportWizard(TransactionCase):
def setUp(self):
super().setUp()
self.node = self.env['hg.node'].create({
'name': 'Узел отчёта',
'res_model': 'hg.node',
'res_id': 1,
})
self.index = self.env['hg.index'].create({
'name': 'Показатель отчёта',
'node_id': self.node.id,
})
def test_wizard_create(self):
wizard = self.env['node_report_wizard'].create({'index_id': self.index.id})
self.assertEqual(wizard.index_id, self.index)
def test_action_generate_report_returns_url_action(self):
wizard = self.env['node_report_wizard'].create({'index_id': self.index.id})
action = wizard.action_generate_report()
self.assertEqual(action['type'], 'ir.actions.act_url')
self.assertIn(str(self.index.id), action['url'])
self.assertEqual(action['target'], 'new')
def test_action_url_contains_base_url(self):
base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
wizard = self.env['node_report_wizard'].create({'index_id': self.index.id})
action = wizard.action_generate_report()
self.assertIn(base_url, action['url'])
class TestHgIndexGraphImage(TransactionCase):
def setUp(self):
super().setUp()
self.node_src = self.env['hg.node'].create({
'name': 'Источник графа',
'res_model': 'hg.node',
'res_id': 1,
})
self.node_tgt = self.env['hg.node'].create({
'name': 'Приёмник графа',
'res_model': 'hg.node',
'res_id': 2,
})
self.code = self.env['hg.index.code'].create({'name': 'Код графа'})
self.index = self.env['hg.index'].create({
'name': 'Показатель графа',
'node_id': self.node_src.id,
'internal_code_id': self.code.id,
})
self.env['hg.link'].create({
'name': 'Связь графа',
'source_id': self.node_src.id,
'target_ids': [(4, self.node_tgt.id)],
})
def test_generate_graph_image_returns_base64(self):
# networkx и matplotlib могут отсутствовать в тестовой среде — мокируем
fake_b64 = 'aW1hZ2VkYXRh'
with patch.object(
type(self.index), 'generate_graph_image', return_value=fake_b64
):
result = self.index.generate_graph_image()
self.assertEqual(result, fake_b64)