diff --git a/addons/web/static/src/views/view_dialogs/export_data_dialog.js b/addons/web/static/src/views/view_dialogs/export_data_dialog.js
index cc9ed6ee8e7..1f5db9a3466 100644
--- a/addons/web/static/src/views/view_dialogs/export_data_dialog.js
+++ b/addons/web/static/src/views/view_dialogs/export_data_dialog.js
@@ -204,6 +204,7 @@ export class ExportDataDialog extends Component {
async fetchFields() {
this.state.search = [];
this.knownFields = {};
+ this.expandedFields = {};
await this.loadFields();
await this.setDefaultExportList();
if (this.searchRef.el) {
diff --git a/addons/web/static/src/views/view_dialogs/export_data_dialog.xml b/addons/web/static/src/views/view_dialogs/export_data_dialog.xml
index f8f63ace164..1fdc0dda039 100644
--- a/addons/web/static/src/views/view_dialogs/export_data_dialog.xml
+++ b/addons/web/static/src/views/view_dialogs/export_data_dialog.xml
@@ -42,7 +42,7 @@
-
+
{
await click(target, ".o_select_button");
});
+ QUnit.test("toggling import compatibility after adding an expanded field", async function (assert) {
+ assert.expect(1);
+
+ mockDownload(({ url, data }) => {
+ assert.ok(
+ JSON.parse(data.data)["import_compat"],
+ "request to generate the file must have 'import_compat' as true"
+ );
+ return Promise.resolve();
+ });
+
+ await makeView({
+ serverData,
+ type: "list",
+ resModel: "partner",
+ arch: ``,
+ actionMenus: {},
+ mockRPC(route, args) {
+ if (route === "/web/export/formats") {
+ return Promise.resolve([
+ { tag: "csv", label: "CSV" },
+ ]);
+ }
+ if (route === "/web/export/get_fields") {
+ if (!args.parent_field) {
+ return Promise.resolve(fetchedFields.root);
+ }
+ return Promise.resolve(fetchedFields[args.prefix]);
+ }
+ },
+ });
+
+ await openExportDataDialog();
+ await click(target, "[data-field_id='activity_ids']");
+ await click(target, "[data-field_id='activity_ids/partner_ids'] .o_add_field");
+ await click(target, ".o_import_compat input");
+ await click(target, "[data-field_id='activity_ids']");
+ await click(target, ".o_select_button");
+ });
+
QUnit.test("Export dialog: many2many fields are extendable", async function (assert) {
await makeView({
serverData,