From ebcec85c0ce0d0a99e70414168bef95ca37dd7a5 Mon Sep 17 00:00:00 2001 From: Levko Kravets Date: Mon, 20 Jan 2020 12:49:17 +0200 Subject: [PATCH] Tags filter doesn't work because of wrong query params format (#4563) * getredash/redash#4557 Tags filter doesn't work because of wrong query params format * Fix tests --- client/app/services/axios.js | 5 ++- .../integration/query/parameter_spec.js | 1 + package-lock.json | 45 ++++++++++++++----- package.json | 1 + 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/client/app/services/axios.js b/client/app/services/axios.js index c102080746..0fd656fb07 100644 --- a/client/app/services/axios.js +++ b/client/app/services/axios.js @@ -1,6 +1,9 @@ import axiosLib from "axios"; +import qs from "query-string"; -export const axios = axiosLib.create(); +export const axios = axiosLib.create({ + paramsSerializer: params => qs.stringify(params), +}); const getData = ({ data }) => data; const getResponse = ({ response }) => Promise.reject(response); diff --git a/client/cypress/integration/query/parameter_spec.js b/client/cypress/integration/query/parameter_spec.js index 4a37999423..8ab91c46fc 100644 --- a/client/cypress/integration/query/parameter_spec.js +++ b/client/cypress/integration/query/parameter_spec.js @@ -116,6 +116,7 @@ describe("Parameter", () => { cy.contains("li.ant-select-dropdown-menu-item", "value2").click(); cy.getByTestId("ParameterApplyButton").click(); + cy.getByTestId("ExecuteButton").should("be.disabled"); // ensure that query is being executed cy.getByTestId("TableVisualization").should("contain", "value2"); }); diff --git a/package-lock.json b/package-lock.json index 6886f52167..fbddbc9716 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4358,8 +4358,7 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "deep-equal": { "version": "1.0.1", @@ -12419,6 +12418,24 @@ "prepend-http": "^1.0.0", "query-string": "^4.1.0", "sort-keys": "^1.0.0" + }, + "dependencies": { + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + } } }, "normals": { @@ -13956,13 +13973,13 @@ } }, "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.9.0.tgz", + "integrity": "sha512-KG4bhCFYapExLsUHrFt+kQVEegF2agm4cpF/VNc6pZVthIfCc/GK8t8VyNIE3nyXG9DK3Tf2EGkxjR6/uRdYsA==", "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" } }, "querystring": { @@ -16368,6 +16385,11 @@ "through": "2" } }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, "split-polygon": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/split-polygon/-/split-polygon-1.0.0.tgz", @@ -16726,10 +16748,9 @@ } }, "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" }, "string-convert": { "version": "0.2.1", diff --git a/package.json b/package.json index af4a14b0e7..1f89110f01 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "pace-progress": "git+https://github.com/getredash/pace.git", "plotly.js": "1.41.3", "prop-types": "^15.6.1", + "query-string": "^6.9.0", "react": "^16.8.3", "react-ace": "^6.1.0", "react-dom": "^16.8.3",