Skip to content
Snippets Groups Projects
Commit 17a182fb authored by Romain Derie's avatar Romain Derie
Browse files

[FIX] website: repair (again) the nightly website standalone test

Commit [1] actually "repair" the test theme installation that was
actually not calling `_post_copy()` for the website/themes created
through the `_post_init` hook of the `test_themes` module.
By doing so, the Nano theme now correctly activated the
`footer_language_selector` view, meaning that the tour would fail as
this Nano view would mess up with the tour (that Nano view was returned
on top of the Theme custo view).

Those website standalone tests should really be part of the regular
testing suite and not in the nightly build only:
1. This is getting really annoying to fix it again and again, we
   wouldn't have to do that if it was in the regular testing base as it
   could not be broken. This is a waste of time for no reason, as we
   need to investigate, understand and find a fix.
2. For now it only broke due to no real bug, most of the time it is
   because the test need to be adapted to a theme change or something,
   but one day someone will be able to break the website core mechanisms
   (COW, theme install etc) and this will be problematic.
   Note that if this was to happen, the runbot team will be handling the
   issue and the fix with the people that broke it, as it was promised
   when we discussed about moving those tests in the regular testing
   suite. It was the conscensus for us to accept to leave those tests in
   the nightly only (we didn't really had a choice tho).

[1]: https://github.com/odoo/design-themes/commit/fea847977d8bd4b0c0ddfc7685e3d3dc0933759c



closes odoo/odoo#106026

Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
parent bf3eac5f
No related branches found
No related tags found
No related merge requests found
......@@ -28,6 +28,9 @@ def test_01_cow_views_inherit_on_module_update(env):
View.with_context(_force_unlink=True, active_test=False).search([('website_id', '=', 1)]).unlink()
child_view = env.ref('portal.footer_language_selector')
parent_view = env.ref('portal.portal_back_in_edit_mode')
# Remove any possibly existing COW view (another theme etc)
parent_view.with_context(_force_unlink=True, active_test=False)._get_specific_views().unlink()
child_view.with_context(_force_unlink=True, active_test=False)._get_specific_views().unlink()
# Change `inherit_id` so the module update will set it back to the XML value
child_view.write({'inherit_id': parent_view.id, 'arch': child_view.arch_db.replace('o_footer_copyright_name', 'text-center')})
# Trigger COW on view
......@@ -35,6 +38,7 @@ def test_01_cow_views_inherit_on_module_update(env):
child_cow_view = child_view._get_specific_views()
# 2. Ensure setup is as expected
assert len(child_cow_view.inherit_id) == 1, "Should only be the XML view and its COW counterpart."
assert child_cow_view.inherit_id == parent_view, "Ensure test is setup as expected."
# 3. Upgrade the module
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment