Previously the configurator retrieved the snippet lists needed to build the website pages from IAP. These lists have been put in the theme manifests and can be accessed from it. odoo/design-themes#505 odoo/iap-apps#411 closes odoo/odoo#77550 X-original-commit: 01c97c697aa0c5cae79952f1d3ac8de69bf2ad1a Related: odoo/design-themes#510 Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from unittest.mock import patch
|
|
|
|
import odoo.tests
|
|
from odoo.addons.iap.tools.iap_tools import iap_jsonrpc_mocked
|
|
|
|
|
|
@odoo.tests.common.tagged('post_install', '-at_install')
|
|
class TestConfigurator(odoo.tests.HttpCase):
|
|
|
|
def _theme_upgrade_upstream(self):
|
|
# patch to prevent module install/upgrade during tests
|
|
pass
|
|
|
|
def setUp(self):
|
|
super().setUp()
|
|
|
|
def iap_jsonrpc_mocked_configurator(*args, **kwargs):
|
|
endpoint = args[0]
|
|
if endpoint.endswith('/api/website/1/configurator/industries'):
|
|
return {"industries": [
|
|
{"id": 1, "label": "abbey"},
|
|
{"id": 2, "label": "aboriginal and torres strait islander organisation"},
|
|
{"id": 3, "label": "aboriginal art gallery"},
|
|
{"id": 4, "label": "abortion clinic"},
|
|
{"id": 5, "label": "abrasives supplier"},
|
|
{"id": 6, "label": "abundant life church"}]}
|
|
elif '/api/website/2/configurator/recommended_themes' in endpoint:
|
|
return []
|
|
elif '/api/website/2/configurator/custom_resources/' in endpoint:
|
|
return {'images': {}}
|
|
|
|
iap_jsonrpc_mocked()
|
|
|
|
iap_patch = patch('odoo.addons.iap.tools.iap_tools.iap_jsonrpc', iap_jsonrpc_mocked_configurator)
|
|
iap_patch.start()
|
|
self.addCleanup(iap_patch.stop)
|
|
|
|
patcher = patch('odoo.addons.website.models.ir_module_module.IrModuleModule._theme_upgrade_upstream', wraps=self._theme_upgrade_upstream)
|
|
patcher.start()
|
|
self.addCleanup(patcher.stop)
|
|
|
|
def test_01_configurator_flow(self):
|
|
self.start_tour('/web#action=website.action_website_configuration', 'configurator_flow', login="admin")
|