With [1] in 13.0, the blog post layouts were reviewed. At the same time, new demo data was introduced. By default, with demo data, you have now two different blogs. The JS tour was adapted so that when you create a new blog post, a step explains you have to select the blog you want to create the post in with the dialog that opens. The main problem that this PR aims to solve is that all users start without demo data and thus with only one blog... so with the current tour, the users are blocked very early in the tour as they do not have the dialog to select the blog in which to create their blog post. The simple solution that was chosen is to set the step as "auto", meaning it will only be used in runned tours (like via python tests), allowing to still test the blog selection dialog in our python test. Users will not be guided via a tip for this specific modal but this is not a problem as this is very straightforward to understand in the case the user explicitely created multiple blogs before creating blog posts. This commit also review commit merged at [2] which made that python test more robust by not relying on the demo data. That was here improved with explanations. However, allowing the tour to go further than the blog post creation for the user... revealed that the rest of the tour was still blocking the user. The very next step is to modify the blog post title. That step was simply not possible to consume. Indeed the tour system asks for a click event on the title... which is never detected because our old editor removes all click handlers on that specific top-level editable area. The cleanest way of fixing that is actually to not wait for a click but wait that the user actually types text. For this purpose a feature was introduced in 14.0 with [3] (even if unfortunately, that commit was not well split). Unfortunately again... that 14.0 feature is currently buggy during test tours as choosing the "input" consumeEvent alongside the "text" run method... changes the behavior of that "text" run method when the affected element is a contenteditable element. That should be fixed but this will be done in a further update. Meanwhile, this commit chooses to use the consumeEvent 'mouseup' which circles around both issues. [1]: https://github.com/odoo/odoo/commit/bb0cdec4594fab8c22265ed8af0c2d431a263b72 [2]: https://github.com/odoo/odoo/commit/f16f2e212a30352ead86c2f876be02b5c5e23b07 [3]: https://github.com/odoo/odoo/commit/a34cd7c662b3753d630d83793ffcb53b4a0a92d2 Bug revealed by testing task-2728994 closes odoo/odoo#83721 X-original-commit: ca82efe0c7b9a5e98d5c9623b3ae0f1b88fc8091 Signed-off-by: Romain Derie (rde) <rde@odoo.com> Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
23 lines
732 B
Python
23 lines
732 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
import odoo.tests
|
|
|
|
|
|
@odoo.tests.tagged('post_install', '-at_install')
|
|
class TestUi(odoo.tests.HttpCase):
|
|
def test_admin(self):
|
|
# Ensure at least two blogs exist for the step asking to select a blog
|
|
self.env['blog.blog'].create({'name': 'Travel'})
|
|
|
|
# Ensure at least one image exists for the step that chooses one
|
|
self.env['ir.attachment'].create({
|
|
'public': True,
|
|
'type': 'url',
|
|
'url': '/web/image/123/transparent.png',
|
|
'name': 'transparent.png',
|
|
'mimetype': 'image/png',
|
|
})
|
|
|
|
self.start_tour("/", 'blog', login='admin')
|