66 lines
3.0 KiB
Python
66 lines
3.0 KiB
Python
|
|
from odoo.tests.common import HttpCase
|
|
|
|
from .common import SpreadsheetTestCommon
|
|
|
|
|
|
class TestSpreadsheetTemplateController(SpreadsheetTestCommon, HttpCase):
|
|
|
|
def test_get_template_data(self):
|
|
template = self.env['spreadsheet.template'].create({
|
|
'spreadsheet_data': '{}',
|
|
'name': 'Template name',
|
|
})
|
|
user = self.spreadsheet_user
|
|
self.authenticate(user.login, user.password)
|
|
response = self.url_open('/spreadsheet/data/spreadsheet.template/%s' % template.id)
|
|
self.assertEqual(response.json()['data'], {})
|
|
self.assertEqual(response.json()['revisions'], [], 'It should not have any initial revisions')
|
|
|
|
def test_get_active_template_data(self):
|
|
template = self.env['spreadsheet.template'].create({
|
|
'spreadsheet_data': '{}',
|
|
'name': 'Template name',
|
|
})
|
|
user = self.spreadsheet_user
|
|
self.authenticate(user.login, user.password)
|
|
commands = self.new_revision_data(template)
|
|
template.dispatch_spreadsheet_message(commands)
|
|
del commands['clientId']
|
|
response = self.url_open('/spreadsheet/data/spreadsheet.template/%s' % template.id)
|
|
self.assertEqual(response.json()['data'], {})
|
|
self.assertEqual(response.json()['revisions'], [commands], 'It should have any initial revisions')
|
|
|
|
def test_action_create_spreadsheet_with_user_locale(self):
|
|
self.env.ref('base.lang_fr').active = True
|
|
user = self.spreadsheet_user
|
|
self.authenticate(user.login, user.password)
|
|
user.lang = 'fr_FR'
|
|
template = self.env['spreadsheet.template'].create({
|
|
'name': 'Template name',
|
|
})
|
|
action = template.with_user(user).action_create_spreadsheet()
|
|
spreadsheet_id = action['params']['spreadsheet_id']
|
|
response = self.url_open('/spreadsheet/data/documents.document/%s' % spreadsheet_id)
|
|
revision = response.json()['revisions']
|
|
self.assertEqual(len(revision), 1)
|
|
self.assertEqual(revision[0]['commands'][0]['type'], 'UPDATE_LOCALE')
|
|
self.assertEqual(revision[0]['commands'][0]['locale']['code'], 'fr_FR')
|
|
|
|
def test_action_create_spreadsheet_with_existing_revision_with_user_locale(self):
|
|
self.env.ref('base.lang_fr').active = True
|
|
user = self.spreadsheet_user
|
|
self.authenticate(user.login, user.password)
|
|
user.lang = 'fr_FR'
|
|
template = self.env['spreadsheet.template'].create({
|
|
'name': 'Template name',
|
|
})
|
|
template.dispatch_spreadsheet_message(self.new_revision_data(template))
|
|
action = template.with_user(user).action_create_spreadsheet()
|
|
spreadsheet_id = action['params']['spreadsheet_id']
|
|
response = self.url_open('/spreadsheet/data/documents.document/%s' % spreadsheet_id)
|
|
revision = response.json()['revisions']
|
|
self.assertEqual(len(revision), 2)
|
|
self.assertEqual(revision[-1]['commands'][0]['type'], 'UPDATE_LOCALE')
|
|
self.assertEqual(revision[-1]['commands'][0]['locale']['code'], 'fr_FR')
|