Daily updates from Odoo
Friday, July 4, 2025
14 changes
5 changes
Enhancements to existing features
This update makes the website shop add-to-cart testing flow more reliable by handling more menu layouts and waiting properly for quantity changes. It helps reduce false test failures and supports smoother validation of online store editing features.
Original PR description
Before this commit: changeOptionInPopover was failed in some cases where dropdown-item element is not div, current selector in changeOptionInPopover was not able to select element. resetDefaultAction in AddToCartOptionPlugin plugin was not shared and we were calling this method from other plugins. addToCart builder actions was not fetched with right name, builder actions are using id of the action class to fetch that specific action. This commit solves all above issues. 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
This update adds a shared foundation for automated startup and data model tests across Point of Sale and related payment, restaurant, loyalty, HR, event, sales, and self-ordering components. It helps validate that PoS data structures and services load correctly, reducing the risk of future changes causing regressions.
Original PR description
*: point_of_sale, pos_account_tax_python, pos_adyen, pos_event, pos_hr, pos_loyalty, pos_pine_labs, pos_razorpay, pos_restaurant, pos_restaurant_adyen, pos_sale, pos_self_order, pos_stripe, pos_viva_com Add a base for running boot tests in PoS. All models available in the PoS have been added via the `models.ServerModel` tool so that they are available in the `MockServer` In this way, we can simulate the generation of the model definitions required for the related model, JS classes and data service. We can now instantiate the related models and call all the methods specific to each model. Forward-Port-Of: odoo/odoo#216514
This update makes automated user journey tests more explicit when an action navigates away from the current page. It helps reduce false failures in testing across checkout, events, live chat, courses, portal security, and point of sale flows, improving release confidence without changing customer-facing behavior.
Original PR description
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 Forward-Port-Of: odoo/odoo#217204 Forward-Port-Of: odoo/odoo#216007
This update adds automated test foundations for several Point of Sale add-ons, making it easier to verify that their screens and data models start correctly. It helps reduce regression risk in appointment, restaurant, IoT, payment, and delivery integrations without changing day-to-day user workflows.
Original PR description
*: pos_appointment, pos_iot, pos_restaurant_appointment, pos_tyro, pos_urban_piper, pos_urban_piper_enhancements Add a base for running boot tests in PoS. All models available in the PoS have been added via the `models.ServerModel` tool so that they are available in the `MockServer` In this way, we can simulate the generation of the model definitions required for the related model, JS classes and data service. We can now instantiate the related models and call all the methods specific to each model. Forward-Port-Of: odoo/enterprise#88898
This update makes automated website sales and rental test journeys clearer about when a page reload is expected. It helps reduce false test failures and improves confidence in future releases without changing the customer-facing experience.
Original PR description
In this commit, we add expectUnloadPage to steps that require it to explicitly declare that the step will cause the page to be unloaded. Forward-Port-Of: odoo/enterprise#89322 Forward-Port-Of: odoo/enterprise#88602
1 change
Enhancements to existing features
Automated tests across several Odoo apps now clearly mark the steps that reload or leave a page. This helps make quality checks more stable and reduces false test failures, without changing day-to-day user workflows.
Original PR description
In this commit, we add expectUnloadPage to steps that require it to explicitly declare that the step will cause the page to be unloaded. Forward-Port-Of: odoo/enterprise#89186 Forward-Port-Of: odoo/enterprise#88602
6 changes
Enhancements to existing features
This update adds foundational automated boot tests for several Point of Sale extensions, helping verify that their data models load and behave correctly. It reduces the risk of future regressions in appointment, IoT, restaurant appointment, payment terminal, and food delivery integrations without changing day-to-day user workflows.
Original PR description
*: pos_appointment, pos_iot, pos_restaurant_appointment, pos_tyro, pos_urban_piper, pos_urban_piper_enhancements Add a base for running boot tests in PoS. All models available in the PoS have been added via the `models.ServerModel` tool so that they are available in the `MockServer` In this way, we can simulate the generation of the model definitions required for the related model, JS classes and data service. We can now instantiate the related models and call all the methods specific to each model. Forward-Port-Of: odoo/enterprise#88898
This update improves how internal references are handled in several reporting and configuration screens, reducing the chance of fragile or confusing setup behavior. It affects data cleaning, sales commissions, and subscription areas without introducing visible workflow changes for most users.
Payroll users can now click payslip line list headers without accidentally changing the order of the entries. This keeps payslip information displayed in its intended sequence and reduces confusion during payroll review.
Original PR description
In this PR, we disabled the payslip line ordering when clicking on the list header but introducing a custom js which overrides the onClickSortColumn to not sort the list when the current className inside the archInfo includes 'disable_sort'. Task: 4793653.
The Mexican reports test suite was updated to reflect newly added accounts. This helps ensure financial reporting checks remain accurate and reduces the risk of false test failures after account changes.
Original PR description
This adapts the tests to the newly added accounts in l10n_mx. Old PR: #87674 opw-4799052
The marketing automation test suite was updated to use a newer testing approach. This improves maintainability and helps ensure future changes can be validated more reliably, without changing day-to-day user functionality.
Original PR description
task-4028356
This update modernizes how accounting-related modules define filtering logic across reports, payments, transfers, payroll, helpdesk, ESG, and localization features. The change is mostly internal, helping keep financial features consistent and easier to maintain without altering day-to-day business workflows.
Original PR description
odoo/odoo#206960
2 changes
Enhancements to existing features
In the French accounting localization, delivery dates are no longer automatically copied from the invoice date. This ensures delivery dates are entered only when users explicitly provide them, improving accuracy for business records.
Original PR description
This commit prevents the delivery date from being set to invoice date by default in French localization. We need the delivery date to be only set by the users. task-4900043 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Grouped customer invoice payments now use a PAY/XXXXX memo instead of BATCH/XXX. This avoids confusion with the separate Batch Payment feature and makes payment references clearer for accounting users.
Original PR description
Purpose ------- This improves clarity in group payment memos: the previous BATCH/XXX prefix could be misleading as it resembled the Batch Payment feature, while the generated payment was unrelated to it. Changes ------- Replaced BATCH/XXX prefix with the more generic and consistent PAY/XXXXX format. Aligns with the syntax introduced in v18 for payments without entries. How to test ------- Go to Accounting > Customers > Invoices. Select multiple posted customer invoices. Click "Action" > "Register Payment". Tick the "Group Payments" checkbox. Validate the payment. The generated memo should now use the PAY/XXXXX format instead of BATCH/XXX. Confirm that batch payment features are not affected.