From c2a85d4830df72e15db641b08f30c84572e029f9 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Mon, 15 Aug 2022 12:21:14 +0300 Subject: [PATCH] Doesn't show save dialog if no logs received Signed-off-by: Alex Andreev --- .../dock/logs/__test__/download-logs.test.tsx | 30 +++++++++++++++++++ .../dock/logs/download-all-logs.injectable.ts | 2 -- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/renderer/components/dock/logs/__test__/download-logs.test.tsx b/src/renderer/components/dock/logs/__test__/download-logs.test.tsx index b49aa4d543..984557bea3 100644 --- a/src/renderer/components/dock/logs/__test__/download-logs.test.tsx +++ b/src/renderer/components/dock/logs/__test__/download-logs.test.tsx @@ -183,6 +183,36 @@ describe("download logs options in pod logs dock tab", () => { }) }) + describe("when call for logs resolves with no logs", () => { + beforeEach(() => { + callForLogsMock.mockResolvedValue(""); + }) + + describe("when selected 'download visible logs'", () => { + beforeEach(() => { + const button = rendered.getByTestId("download-visible-logs"); + button.click(); + }); + + it("shows save dialog with proper attributes", () => { + expect(openSaveFileDialogMock).toHaveBeenCalledWith("dockerExporter.log", "some-logs", "text/plain") + }); + }) + + describe("when selected 'download all logs'", () => { + beforeEach(async () => { + await act(async () => { + const button = rendered.getByTestId("download-all-logs"); + button.click(); + }); + }); + + it("doesn't show save dialog", async () => { + expect(openSaveFileDialogMock).not.toHaveBeenCalled() + }); + }) + }) + describe("when call for logs rejects", () => { beforeEach(() => { callForLogsMock.mockRejectedValue("error"); diff --git a/src/renderer/components/dock/logs/download-all-logs.injectable.ts b/src/renderer/components/dock/logs/download-all-logs.injectable.ts index 54c20eff1e..d57c2b7bd4 100644 --- a/src/renderer/components/dock/logs/download-all-logs.injectable.ts +++ b/src/renderer/components/dock/logs/download-all-logs.injectable.ts @@ -16,8 +16,6 @@ const downloadAllLogsInjectable = getInjectable({ return async (params: ResourceDescriptor, query: PodLogsQuery) => { const logs = await callForLogs(params, query).catch(error => { logger.error("Can't download logs: ", error); - - return ""; }) if (logs) {