*: web_editor, website Steps to reproduce the bug: - Add a Cover snippet on the website. - Put a "Blur" filter on the background image. - Save. - Change the parallax from "Fixed" to "None". - Save and edit. => The "Filter" option displays "None" but should display "Blur". When changing the parallax, `setTarget()` is called. The goal of this function is to transfer the `background-image` from the old target to the new one. The commit modifies this function by adding the transfer of the dataset information relative to the background image from the old target to the new one. It also transfers the `o_modified_image_to_save` class from the old target to the new one if needed. Upgrade PR: https://github.com/odoo/upgrade/pull/4767 task-3287330 closes odoo/odoo#123873 X-original-commit: c82d01f7532b5b120bedfbc40bf8f2f07d750ed6 Related: odoo/upgrade#4767 Signed-off-by: Benoit Socias (bso) <bso@odoo.com> Signed-off-by: Colin Louis (loco) <loco@odoo.com>
77 lines
3.4 KiB
Python
77 lines
3.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from lxml import html
|
|
from werkzeug.urls import url_encode
|
|
|
|
from odoo.tests import HttpCase, tagged
|
|
from odoo.addons.website.tools import MockRequest
|
|
from odoo.tests.common import HOST
|
|
from odoo.tools import config
|
|
|
|
|
|
@tagged('post_install', '-at_install', 'website_snippets')
|
|
class TestSnippets(HttpCase):
|
|
|
|
def test_01_empty_parents_autoremove(self):
|
|
self.start_tour(self.env['website'].get_client_action_url('/'), 'snippet_empty_parent_autoremove', login='admin')
|
|
|
|
def test_02_default_shape_gets_palette_colors(self):
|
|
self.start_tour('/@/', 'default_shape_gets_palette_colors', login='admin')
|
|
|
|
def test_03_snippets_all_drag_and_drop(self):
|
|
with MockRequest(self.env, website=self.env['website'].browse(1)):
|
|
snippets_template = self.env['ir.ui.view'].render_public_asset('website.snippets')
|
|
html_template = html.fromstring(snippets_template)
|
|
data_snippet_els = html_template.xpath("//*[@class='o_panel' and not(contains(@class, 'd-none'))]//*[@data-snippet]")
|
|
blacklist = [
|
|
's_facebook_page', # avoid call to external services (facebook.com)
|
|
's_map', # avoid call to maps.google.com
|
|
]
|
|
snippets_names = ','.join(set(el.attrib['data-snippet'] for el in data_snippet_els if el.attrib['data-snippet'] not in blacklist))
|
|
snippets_names_encoded = url_encode({'snippets_names': snippets_names})
|
|
path = url_encode({
|
|
'path': '/?' + snippets_names_encoded
|
|
})
|
|
self.start_tour("/web#action=website.website_preview&%s" % path, "snippets_all_drag_and_drop", login='admin', timeout=300)
|
|
|
|
def test_04_countdown_preview(self):
|
|
self.start_tour(self.env['website'].get_client_action_url('/'), 'snippet_countdown', login='admin')
|
|
|
|
def test_05_social_media(self):
|
|
self.start_tour(self.env['website'].get_client_action_url('/'), 'snippet_social_media', login="admin")
|
|
self.assertEqual(
|
|
self.env['website'].browse(1).social_instagram,
|
|
'https://instagram.com/odoo.official/',
|
|
'Social media should have been updated'
|
|
)
|
|
|
|
def test_06_snippet_popup_add_remove(self):
|
|
self.start_tour(self.env['website'].get_client_action_url('/'), 'snippet_popup_add_remove', login='admin')
|
|
|
|
def test_07_image_gallery(self):
|
|
self.start_tour(self.env['website'].get_client_action_url('/'), 'snippet_image_gallery', login='admin')
|
|
|
|
def test_08_table_of_content(self):
|
|
self.start_tour(self.env['website'].get_client_action_url('/'), 'snippet_table_of_content', login='admin')
|
|
|
|
def test_09_snippet_image_gallery(self):
|
|
IrAttachment = self.env['ir.attachment']
|
|
base = "http://%s:%s" % (HOST, config['http_port'])
|
|
IrAttachment.create({
|
|
'public': True,
|
|
'name': 's_default_image.jpg',
|
|
'type': 'url',
|
|
'url': base + '/web/image/website.s_banner_default_image.jpg',
|
|
})
|
|
IrAttachment.create({
|
|
'public': True,
|
|
'name': 's_default_image2.jpg',
|
|
'type': 'url',
|
|
'url': base + '/web/image/website.s_banner_default_image.jpg',
|
|
})
|
|
self.start_tour("/", "snippet_image_gallery_remove", login='admin')
|
|
|
|
def test_10_parallax(self):
|
|
self.start_tour(self.env['website'].get_client_action_url('/'), 'test_parallax', login='admin')
|