forked from Mapan/odoo17e
69 lines
2.8 KiB
Python
69 lines
2.8 KiB
Python
from odoo.addons.spreadsheet_dashboard.tests.common import DashboardTestCommon
|
|
from odoo.addons.spreadsheet_edition.tests.spreadsheet_test_case import SpreadsheetTestCase
|
|
|
|
|
|
class TestSpreadsheetDashboard(DashboardTestCommon, SpreadsheetTestCase):
|
|
def test_computed_name(self):
|
|
group = self.env["spreadsheet.dashboard.group"].create(
|
|
{"name": "a group"}
|
|
)
|
|
dashboard = self.env["spreadsheet.dashboard"].create(
|
|
{
|
|
"name": "My Dashboard",
|
|
"dashboard_group_id": group.id,
|
|
"spreadsheet_data": "{}",
|
|
}
|
|
)
|
|
self.assertEqual(dashboard.file_name, "My Dashboard.osheet.json")
|
|
|
|
def test_load_with_user_locale(self):
|
|
dashboard = self.create_dashboard().with_user(self.user)
|
|
|
|
self.user.lang = "en_US"
|
|
data = dashboard.get_readonly_dashboard()
|
|
snapshot = data["snapshot"]
|
|
snapshot_locale = snapshot["settings"]["locale"]
|
|
self.assertEqual(snapshot_locale["code"], "en_US")
|
|
revisions = data["revisions"]
|
|
self.assertEqual(len(revisions), 1)
|
|
locale_revision = revisions[-1]
|
|
self.assertEqual(locale_revision["serverRevisionId"], snapshot["revisionId"])
|
|
self.assertEqual(locale_revision["commands"][0]["type"], "UPDATE_LOCALE")
|
|
self.assertEqual(locale_revision["commands"][0]["locale"]["code"], "en_US")
|
|
|
|
self.env.ref("base.lang_fr").active = True
|
|
self.user.lang = "fr_FR"
|
|
|
|
data = dashboard.get_readonly_dashboard()
|
|
snapshot = data["snapshot"]
|
|
snapshot_locale = snapshot["settings"]["locale"]
|
|
self.assertEqual(
|
|
snapshot_locale["code"], "en_US", "snapshot locale is not changed"
|
|
)
|
|
revisions = data["revisions"]
|
|
locale_revision = revisions[-1]
|
|
self.assertEqual(locale_revision["serverRevisionId"], snapshot["revisionId"])
|
|
self.assertEqual(locale_revision["commands"][0]["type"], "UPDATE_LOCALE")
|
|
self.assertEqual(locale_revision["commands"][0]["locale"]["code"], "fr_FR")
|
|
|
|
def test_load_with_company_currency(self):
|
|
dashboard = self.create_dashboard().with_user(self.user)
|
|
data = dashboard.get_readonly_dashboard()
|
|
self.assertEqual(
|
|
data["default_currency"],
|
|
self.env["res.currency"].get_company_currency_for_spreadsheet()
|
|
)
|
|
|
|
def test_load_with_user_locale_existing_revisions(self):
|
|
dashboard = self.create_dashboard()
|
|
dashboard.dispatch_spreadsheet_message(self.new_revision_data(dashboard))
|
|
|
|
data = dashboard.with_user(self.user).get_readonly_dashboard()
|
|
revisions = data["revisions"]
|
|
self.assertEqual(len(revisions), 2)
|
|
self.assertEqual(
|
|
revisions[-1]["serverRevisionId"],
|
|
revisions[-2]["nextRevisionId"],
|
|
"revisions ids are chained",
|
|
)
|