diff --git a/addons/web/static/tests/views/graph_view_tests.js b/addons/web/static/tests/views/graph_view_tests.js
index 0c853c97356..f938b9f0562 100644
--- a/addons/web/static/tests/views/graph_view_tests.js
+++ b/addons/web/static/tests/views/graph_view_tests.js
@@ -17,6 +17,7 @@ import {
toggleGroupByMenu,
toggleMenu,
toggleMenuItem,
+ toggleMenuItemOption,
toggleSaveFavorite,
} from "@web/../tests/search/helpers";
@@ -3422,4 +3423,55 @@ QUnit.module("Views", (hooks) => {
});
checkModeIs(assert, graph, "bar");
});
+
+ QUnit.test("only process most recent data for concurrent groupby", async function (assert) {
+ assert.expect(6);
+
+ let def;
+ const graph = await makeView({
+ serverData,
+ type: "graph",
+ resModel: "foo",
+ arch: `
+
+
+
+
+ `,
+ searchViewArch: `
+
+
+
+
+ `,
+ mockRPC() {
+ return Promise.resolve(def);
+ },
+ });
+
+ checkLabels(assert, graph, ["xphone", "xpad"]);
+ checkDatasets(assert, graph, "data", { data: [82, 157] });
+
+ def = makeDeferred();
+ await toggleGroupByMenu(graph);
+ await toggleMenuItem(graph, "Color");
+ await toggleMenuItem(graph, "Color");
+ await toggleMenuItem(graph, "Date");
+ await toggleMenuItemOption(graph, "Date", "Month");
+
+ checkLabels(assert, graph, ["xphone", "xpad"]);
+ checkDatasets(assert, graph, "data", { data: [82, 157] });
+
+ def.resolve();
+ await nextTick();
+
+ checkLabels(assert, graph, [
+ "January 2016",
+ "March 2016",
+ "May 2016",
+ "Undefined",
+ "April 2016",
+ ]);
+ checkDatasets(assert, graph, "data", { data: [56, 26, 4, 105, 48] });
+ });
});