93 lines
4.7 KiB
Python
93 lines
4.7 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo.tests.common import HttpCase, new_test_user
|
|
from odoo.addons.spreadsheet_edition.tests.spreadsheet_test_case import SpreadsheetTestCase
|
|
|
|
|
|
class SpreadsheetMixinControllerTest(SpreadsheetTestCase, HttpCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
cls.raoul = new_test_user(cls.env, login='raoul', groups="base.group_user,test_spreadsheet.group_spreadsheet_test")
|
|
|
|
def test_company_currency(self):
|
|
self.authenticate(self.raoul.login, self.raoul.password)
|
|
spreadsheet = self.env['spreadsheet.test'].create({})
|
|
company_eur = self.env['res.company'].create({'currency_id': self.env.ref('base.EUR').id, 'name': 'EUR'})
|
|
company_gbp = self.env['res.company'].create({'currency_id': self.env.ref('base.GBP').id, 'name': 'GBP'})
|
|
self.raoul.company_ids |= company_eur | company_gbp
|
|
|
|
self.opener.cookies['cids'] = f'{company_eur.id}-{company_gbp.id}'
|
|
response = self.url_open(f'/spreadsheet/data/spreadsheet.test/{spreadsheet.id}')
|
|
data = response.json()
|
|
self.assertEqual(data['default_currency']['code'], 'EUR')
|
|
self.assertEqual(data['default_currency']['symbol'], '€')
|
|
|
|
self.opener.cookies['cids'] = f'{company_gbp.id}-{company_eur.id}'
|
|
response = self.url_open(f'/spreadsheet/data/spreadsheet.test/{spreadsheet.id}')
|
|
data = response.json()
|
|
self.assertEqual(data['default_currency']['code'], 'GBP')
|
|
self.assertEqual(data['default_currency']['symbol'], '£')
|
|
|
|
def test_default_company_custom_colors(self):
|
|
self.authenticate(self.raoul.login, self.raoul.password)
|
|
spreadsheet = self.env['spreadsheet.test'].create({})
|
|
company = self.env['res.company'].create({'name': 'test'})
|
|
self.raoul.company_ids |= company
|
|
self.opener.cookies['cids'] = str(company.id)
|
|
response = self.url_open(f'/spreadsheet/data/spreadsheet.test/{spreadsheet.id}')
|
|
data = response.json()
|
|
self.assertEqual(data['company_colors'], ['#FFFFFF', '#875A7B'])
|
|
|
|
def test_all_company_custom_colors(self):
|
|
self.authenticate(self.raoul.login, self.raoul.password)
|
|
spreadsheet = self.env['spreadsheet.test'].create({})
|
|
company = self.env['res.company'].create({'name': 'test'})
|
|
self.raoul.company_ids |= company
|
|
self.opener.cookies['cids'] = str(company.id)
|
|
company.primary_color = '#000000'
|
|
company.secondary_color = '#ffffff'
|
|
company.email_primary_color = '#aaaaaa'
|
|
company.email_secondary_color = '#bbbbbb'
|
|
response = self.url_open(f'/spreadsheet/data/spreadsheet.test/{spreadsheet.id}')
|
|
data = response.json()
|
|
self.assertEqual(data['company_colors'], ['#000000', '#ffffff', '#aaaaaa', '#bbbbbb'])
|
|
|
|
def test_two_companies_custom_colors(self):
|
|
self.authenticate(self.raoul.login, self.raoul.password)
|
|
spreadsheet = self.env['spreadsheet.test'].create({})
|
|
company_A = self.env['res.company'].create({'name': 'company A'})
|
|
company_B = self.env['res.company'].create({'name': 'company B'})
|
|
self.raoul.company_ids |= company_A | company_B
|
|
self.opener.cookies['cids'] = f'{company_A.id}-{company_B.id}'
|
|
company_A.primary_color = '#aa0000'
|
|
company_B.primary_color = '#bb0000'
|
|
company_A.secondary_color = '#aa1111'
|
|
company_B.secondary_color = '#bb1111'
|
|
response = self.url_open(f'/spreadsheet/data/spreadsheet.test/{spreadsheet.id}')
|
|
data = response.json()
|
|
self.assertEqual(data['company_colors'], ['#aa0000', '#aa1111', '#FFFFFF', '#875A7B', '#bb0000', '#bb1111'])
|
|
|
|
def test_can_delete_archived_revisions(self):
|
|
self.authenticate(self.raoul.login, self.raoul.password)
|
|
spreadsheet = self.env['spreadsheet.test'].create({})
|
|
commands = self.new_revision_data(spreadsheet)
|
|
spreadsheet.dispatch_spreadsheet_message(commands)
|
|
snapshot_uuid = "snapshot-revision-id"
|
|
self.snapshot(
|
|
spreadsheet,
|
|
spreadsheet.current_revision_uuid, snapshot_uuid, {"sheets": [], "revisionId": snapshot_uuid},
|
|
)
|
|
archived_revisions = spreadsheet.with_context(active_test=False).spreadsheet_revision_ids
|
|
self.assertEqual(len(archived_revisions), 2)
|
|
archived_revisions.unlink()
|
|
|
|
# new revision
|
|
commands = self.new_revision_data(spreadsheet)
|
|
spreadsheet.dispatch_spreadsheet_message(commands)
|
|
|
|
response = self.url_open(f'/spreadsheet/data/spreadsheet.test/{spreadsheet.id}')
|
|
data = response.json()
|
|
self.assertEqual(data['revisions'][0]['serverRevisionId'], snapshot_uuid)
|