oca-ocb-report/odoo-bringout-oca-ocb-spreadsheet_dashboard/spreadsheet_dashboard/tests/test_dashboard_controllers.py
Ernad Husremovic 184bb0e321 19.0 vanilla
2026-03-09 09:32:02 +01:00

62 lines
2.6 KiB
Python

from odoo.tests.common import HttpCase
from .common import DashboardTestCommon
class TestDashboardController(DashboardTestCommon, HttpCase):
def test_load_with_user_locale(self):
self.authenticate(self.user.login, self.user.password)
dashboard = self.create_dashboard().with_user(self.user)
self.user.lang = 'en_US'
response = self.url_open(f'/spreadsheet/dashboard/data/{dashboard.id}')
data = response.json()
locale = data['snapshot']['settings']['locale']
self.assertEqual(locale['code'], 'en_US')
self.assertEqual(len(data['revisions']), 0)
self.env.ref('base.lang_fr').active = True
self.user.lang = 'fr_FR'
response = self.url_open(f'/spreadsheet/dashboard/data/{dashboard.id}')
data = response.json()
locale = data['snapshot']['settings']['locale']
self.assertEqual(locale['code'], 'fr_FR')
self.assertEqual(len(data['revisions']), 0)
def test_load_with_company_currency(self):
self.authenticate(self.user.login, self.user.password)
dashboard = self.create_dashboard().with_user(self.user)
response = self.url_open(f'/spreadsheet/dashboard/data/{dashboard.id}')
data = response.json()
self.assertEqual(
data['default_currency'],
self.env['res.currency'].get_company_currency_for_spreadsheet()
)
def test_translation_namespace(self):
dashboard = self.create_dashboard()
self.env['ir.model.data'].create({
'name': 'test_translation_namespace',
'module': 'spreadsheet_dashboard',
'res_id': dashboard.id,
'model': dashboard._name,
})
self.authenticate(self.user.login, self.user.password)
response = self.url_open('/spreadsheet/dashboard/data/%s' % dashboard.id)
data = response.json()
self.assertEqual(data["translation_namespace"], "spreadsheet_dashboard")
def test_get_sample_dashboard(self):
self.authenticate(self.user.login, self.user.password)
sample_dashboard_path = 'spreadsheet_dashboard/tests/data/sample_dashboard.json'
dashboard = self.create_dashboard()
dashboard.sample_dashboard_file_path = sample_dashboard_path
dashboard.main_data_model_ids = [(4, self.env.ref('base.model_res_bank').id)]
self.env['res.bank'].sudo().search([]).action_archive()
response = self.url_open(f'/spreadsheet/dashboard/data/{dashboard.id}')
self.assertEqual(response.json(), {
'is_sample': True,
'snapshot': {'sheets': []},
})