diff --git a/e2e/support/helpers/e2e-ui-elements-helpers.js b/e2e/support/helpers/e2e-ui-elements-helpers.js index 1da8687a9007c339a68b828a8491677284753245..a412bc5f44c26094e4abd59e11c3711f8fd3914e 100644 --- a/e2e/support/helpers/e2e-ui-elements-helpers.js +++ b/e2e/support/helpers/e2e-ui-elements-helpers.js @@ -95,3 +95,7 @@ export const moveColumnDown = (column, distance) => { .trigger("mousemove", 0, distance * 50, { force: true }) .trigger("mouseup", 0, distance * 50, { force: true }); }; + +export const queryBuilderMain = () => { + return cy.findByTestId("query-builder-main"); +}; diff --git a/e2e/test/scenarios/visualizations/line_chart.cy.spec.js b/e2e/test/scenarios/visualizations/line_chart.cy.spec.js index 3aee81f07094cb545ad04ecac34fc23b931d12ae..8d0eaf8868df02193ae9eca017bb8a6048836c0f 100644 --- a/e2e/test/scenarios/visualizations/line_chart.cy.spec.js +++ b/e2e/test/scenarios/visualizations/line_chart.cy.spec.js @@ -4,6 +4,7 @@ import { popover, visitDashboard, openSeriesSettings, + queryBuilderMain, } from "e2e/support/helpers"; import { SAMPLE_DB_ID } from "e2e/support/cypress_data"; @@ -415,8 +416,13 @@ describe("scenarios > visualizations > line chart", () => { cy.findByText("Category is Doohickey"); }); - it.skip("should not drop the chart legend (metabase#4995)", () => { + it("should not drop the chart legend (metabase#4995)", () => { cy.findAllByTestId("legend-item").should("contain", "Doohickey"); + + cy.log("Ensure that legend is hidden when not dealing with multi series"); + cy.findByTestId("viz-settings-button").click(); + cy.findByTestId("remove-CATEGORY").click(); + queryBuilderMain().should("not.contain", "Doohickey"); }); it("should display correct axis labels (metabase#12782)", () => { diff --git a/frontend/src/metabase/query_builder/components/view/View.jsx b/frontend/src/metabase/query_builder/components/view/View.jsx index ecc99ee8c91a29e5b7b0f04b62abad7bb0c2fa8f..83d4a3708f3e5d1eb6787df226f339dd73aee535 100644 --- a/frontend/src/metabase/query_builder/components/view/View.jsx +++ b/frontend/src/metabase/query_builder/components/view/View.jsx @@ -345,7 +345,10 @@ class View extends React.Component { const isSidebarOpen = leftSidebar || rightSidebar; return ( - <QueryBuilderMain isSidebarOpen={isSidebarOpen}> + <QueryBuilderMain + isSidebarOpen={isSidebarOpen} + data-testid="query-builder-main" + > {isNative ? ( this.renderNativeQueryEditor() ) : ( diff --git a/frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx b/frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx index ea74b2c9d8f59ae7a9a9e553e08d01fb79001164..e77de043943f1ca79cb1b937a365a9ad147b752d 100644 --- a/frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx +++ b/frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx @@ -275,7 +275,8 @@ export default class LineAreaBarChart extends Component { const hasMultipleSeries = series.length > 1; const canChangeSeries = onAddSeries || onEditSeries || onRemoveSeries; const hasLegendButtons = !hasTitle && actionButtons; - const hasLegend = hasMultipleSeries || canChangeSeries || hasLegendButtons; + const hasLegend = + hasMultipleSeries || canChangeSeries || hasLegendButtons || hasBreakout; const seriesSettings = settings.series && series.map(single => settings.series(single));