Daily updates from Odoo
Friday, June 27, 2025
3 changes · saas-18.4
Code cleanup and technical improvements
This change makes automated tour tests fail when a page reload or redirect is not declared in advance. That reduces flaky test behavior and helps keep customer-facing flows such as point of sale, website sales, events, and blogs more stable during development.
Original PR description
In this commit, we uncomment the listener on beforeUnload to ensure that expectUnloadPage is correctly used in tours. From now on, if a step produces a page unload but didn't declare it, the tour will fail with an Error. This forces step producing page reload/redirect to declare them, s.t. the tour stops after that step, waiting for the next page to be loaded to continue. This is done to remove non determinism in tours. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website builder's internal action handling was simplified so plugin registration now manages how actions run. This should make the builder easier to maintain and extend, with no expected change for end users aside from improved reliability in related tests.
Original PR description
*: website This refactor centralizes the responsibility of binding BuilderAction methods (`apply`, `prepare`, `isApplied`, etc.) into the builder plugin registration logic, instead of having them bound within the BuilderAction constructor. It simplifies the BuilderAction class and gives the plugin more control over instance behavior, improving flexibility and future extensibility. Minor fix in builder button test included.
This update makes automated website sales and rental checkout tests stricter when a page reload or redirect happens. By requiring those transitions to be declared, the tests become more predictable and reduce flaky validation results for future releases.
Original PR description
In this commit, we uncomment the listener on beforeUnload to ensure that expectUnloadPage is correctly used in tours. From now on, if a step produces a page unload but didn't declare it, the tour will fail with an Error. This forces step producing page reload/redirect to declare them, s.t. the tour stops after that step, waiting for the next page to be loaded to continue. This is done to remove non determinism in tours.