diff --git a/frontend/src/metabase/common/components/ExportSettingsWidget/ExportSettingsWidget.tsx b/frontend/src/metabase/common/components/ExportSettingsWidget/ExportSettingsWidget.tsx index 712a3323a8d93b65af04b7fea119ab0ee14da100..36904828db5d4507d25ecff09d23fe0de9eb2537 100644 --- a/frontend/src/metabase/common/components/ExportSettingsWidget/ExportSettingsWidget.tsx +++ b/frontend/src/metabase/common/components/ExportSettingsWidget/ExportSettingsWidget.tsx @@ -53,10 +53,16 @@ export const ExportSettingsWidget = ({ <Radio value="false" label={t`Unformatted`} /> </Group> </Radio.Group> + <Text + data-testid="formatting-description" size="sm" color="text-medium" - >{t`E.g. September 6, 2024 or $187.50, like in ${applicationName}`}</Text> + > + {isFormattingEnabled + ? t`E.g. September 6, 2024 or $187.50, like in ${applicationName}` + : t`E.g. 2024-09-06 or 187.50, like in the database`} + </Text> </Stack> ) : null} {canConfigurePivoting ? ( diff --git a/frontend/src/metabase/query_builder/components/QueryDownloadPopover/QueryDownloadPopover.unit.spec.tsx b/frontend/src/metabase/query_builder/components/QueryDownloadPopover/QueryDownloadPopover.unit.spec.tsx index 686ba82ca803196a088a962877259da858e9355b..3fd23fc3ceb6d2b0cad39f34b7b9b54b4ad87480 100644 --- a/frontend/src/metabase/query_builder/components/QueryDownloadPopover/QueryDownloadPopover.unit.spec.tsx +++ b/frontend/src/metabase/query_builder/components/QueryDownloadPopover/QueryDownloadPopover.unit.spec.tsx @@ -96,7 +96,10 @@ describe("QueryDownloadPopover", () => { const { onDownload } = setup(); await userEvent.click(screen.getByLabelText(`.${format}`)); - await userEvent.click(screen.getByLabelText(`Unformatted`)); + await userEvent.click(screen.getByLabelText("Unformatted")); + expect(screen.queryByTestId("formatting-description")).toHaveTextContent( + `E.g. 2024-09-06 or 187.50, like in the database`, + ); expect( screen.queryByLabelText("Keep data pivoted"), ).not.toBeInTheDocument(); @@ -112,6 +115,31 @@ describe("QueryDownloadPopover", () => { }, ); + it.each(["csv", "json", "xlsx"])( + "should trigger formatted download for %s format", + async format => { + const { onDownload } = setup(); + + await userEvent.click(screen.getByLabelText(`.${format}`)); + await userEvent.click(screen.getByLabelText("Formatted")); + expect(screen.queryByTestId("formatting-description")).toHaveTextContent( + `E.g. September 6, 2024 or $187.50, like in Metabase`, + ); + expect( + screen.queryByLabelText("Keep data pivoted"), + ).not.toBeInTheDocument(); + await userEvent.click( + await screen.findByTestId("download-results-button"), + ); + + expect(onDownload).toHaveBeenCalledWith({ + type: format, + enableFormatting: true, + enablePivot: false, + }); + }, + ); + it("should not trigger unformatted download for png format", async () => { const format = "png"; const { onDownload } = setup({ card: { ...TEST_CARD, display: "line" } });