Skip to content
Snippets Groups Projects
Unverified Commit f998c6ba authored by Aleksandr Lesnenko's avatar Aleksandr Lesnenko Committed by GitHub
Browse files

fix resetting to default dashcard visualization settings (#32871)

parent d7bc736a
No related branches found
No related tags found
No related merge requests found
......@@ -118,8 +118,11 @@ class ChartSettings extends Component {
handleResetSettings = () => {
MetabaseAnalytics.trackStructEvent("Chart Settings", "Reset Settings");
const settings = getClickBehaviorSettings(this._getSettings());
this.props.onChange(settings);
const originalCardSettings =
this.props.dashcard.card.visualization_settings;
const clickBehaviorSettings = getClickBehaviorSettings(this._getSettings());
this.props.onChange({ ...originalCardSettings, ...clickBehaviorSettings });
};
handleChangeSettings = changedSettings => {
......
import userEvent from "@testing-library/user-event";
import { renderWithProviders, fireEvent, screen } from "__support__/ui";
import {
createMockCard,
createMockDashboardOrderedCard,
createMockVisualizationSettings,
} from "metabase-types/api/mocks";
import ChartSettings from "metabase/visualizations/components/ChartSettings";
......@@ -115,4 +121,42 @@ describe("ChartSettings", () => {
expect(screen.queryByText("Foo")).not.toBeInTheDocument();
});
it("reset settings should revert to the original card settings with click behavior", () => {
const onChange = jest.fn();
const originalVizSettings = createMockVisualizationSettings({
"graph.goal_value": 100,
"graph.show_goal": true,
"graph.goal_label": "foo",
});
const modifiedSettings = createMockVisualizationSettings({
"graph.show_goal": false,
"graph.goal_label": "bar",
click_behavior: {
type: "link",
linkType: "url",
},
});
setup({
dashcard: createMockDashboardOrderedCard({
card: createMockCard({ visualization_settings: originalVizSettings }),
}),
settings: modifiedSettings,
widgets: [],
onChange,
});
userEvent.click(screen.getByText("Reset to defaults"));
expect(onChange).toHaveBeenCalledWith({
...originalVizSettings,
click_behavior: {
type: "link",
linkType: "url",
},
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment