1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Linter fixes

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2022-08-02 10:50:30 +03:00
parent 34f51097cb
commit 356712cbe1
4 changed files with 30 additions and 21 deletions

View File

@ -4,16 +4,19 @@
*/
import type { DiContainer } from "@ogre-tools/injectable";
import { act, RenderResult, waitFor } from "@testing-library/react";
import type { RenderResult } from "@testing-library/react";
import { act, waitFor } from "@testing-library/react";
import { SearchStore } from "../../../../search-store/search-store";
import openSaveFileDialogInjectable from "../../../../utils/save-file.injectable";
import { ApplicationBuilder, getApplicationBuilder } from "../../../test-utils/get-application-builder";
import type { ApplicationBuilder } from "../../../test-utils/get-application-builder";
import { getApplicationBuilder } from "../../../test-utils/get-application-builder";
import type { TabId } from "../../dock/store";
import dockStoreInjectable from "../../dock/store.injectable";
import callForAllLogsInjectable from "../call-for-all-logs.injectable";
import createPodLogsTabInjectable from "../create-pod-logs-tab.injectable";
import getRandomIdForPodLogsTabInjectable from "../get-random-id-for-pod-logs-tab.injectable";
import { LogTabViewModel, LogTabViewModelDependencies } from "../logs-view-model";
import type { LogTabViewModelDependencies } from "../logs-view-model";
import { LogTabViewModel } from "../logs-view-model";
import logsViewModelInjectable from "../logs-view-model.injectable";
import { dockerPod } from "./pod.mock";
@ -74,7 +77,7 @@ describe("download logs options in pod logs dock tab", () => {
builder.beforeApplicationStart(({ rendererDi }) => {
rendererDi.override(callForAllLogsInjectable, () => () => Promise.resolve("all-logs"));
rendererDi.override(logsViewModelInjectable, () => getOnePodViewModel("foobar"))
rendererDi.override(logsViewModelInjectable, () => getOnePodViewModel("foobar"));
rendererDi.override(getRandomIdForPodLogsTabInjectable, () =>
jest
.fn(() => "some-irrelevant-random-id")
@ -110,7 +113,7 @@ describe("download logs options in pod logs dock tab", () => {
createLogsTab({
selectedPod: pod,
selectedContainer: container
selectedContainer: container,
});
});
@ -125,6 +128,7 @@ describe("download logs options in pod logs dock tab", () => {
describe("when clicking on button", () => {
beforeEach(() => {
const button = rendered.getByTestId("download-logs-dropdown");
act(() => button.click());
});
@ -139,44 +143,44 @@ describe("download logs options in pod logs dock tab", () => {
it("when selected 'download visible logs', shows save dialog with proper attributes", async () => {
const downloadMenuItem = rendered.getByTestId("download-visible-logs");
downloadMenuItem.click()
downloadMenuItem.click();
await waitFor(() =>
expect(openSaveFileDialogMock).toHaveBeenCalledWith("dockerExporter.log", "some-logs", "text/plain")
expect(openSaveFileDialogMock).toHaveBeenCalledWith("dockerExporter.log", "some-logs", "text/plain"),
);
});
it("when selected 'download all logs', shows save dialog with proper attributes", async () => {
const downloadMenuItem = rendered.getByTestId("download-all-logs");
downloadMenuItem.click()
downloadMenuItem.click();
await waitFor(() =>
expect(openSaveFileDialogMock).toHaveBeenCalledWith("dockerExporter.log", "all-logs", "text/plain")
expect(openSaveFileDialogMock).toHaveBeenCalledWith("dockerExporter.log", "all-logs", "text/plain"),
);
});
it("when selected 'download all logs', block download dropdown for interaction", async () => {
const downloadMenuItem = rendered.getByTestId("download-all-logs");
downloadMenuItem.click()
downloadMenuItem.click();
await waitFor(() =>
expect(rendered.getByTestId("download-logs-dropdown")).toHaveAttribute("disabled")
expect(rendered.getByTestId("download-logs-dropdown")).toHaveAttribute("disabled"),
);
});
it("when save file dialog opens, restore download button for interaction", async () => {
const downloadMenuItem = rendered.getByTestId("download-all-logs");
downloadMenuItem.click()
downloadMenuItem.click();
await waitFor(() =>
expect(openSaveFileDialogMock).toHaveBeenCalled()
expect(openSaveFileDialogMock).toHaveBeenCalled(),
);
expect(rendered.getByTestId("download-logs-dropdown")).not.toHaveAttribute("disabled")
expect(rendered.getByTestId("download-logs-dropdown")).not.toHaveAttribute("disabled");
});
});
});
});
});

View File

@ -1,3 +1,7 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import callForLogsInjectable from "./call-for-logs.injectable";
@ -15,7 +19,7 @@ const callForAllLogsInjectable = getInjectable({
return logs;
};
}
},
});
export default callForAllLogsInjectable;
export default callForAllLogsInjectable;

View File

@ -55,7 +55,7 @@ const NonInjectedLogControls = observer(({ openSaveFileDialog, model, callForAll
openSaveFileDialog(`${pod.getName()}.log`, logs, "text/plain");
}
}
};
const downloadLogs = () => {
return new Promise((resolve) => {

View File

@ -10,8 +10,8 @@ import { Icon } from "../../icon";
import { Menu, MenuItem } from "../../menu";
interface DownloadLogsDropdownProps {
downloadVisibleLogs: () => Promise<any>
downloadAllLogs: () => Promise<any>
downloadVisibleLogs: () => Promise<any>;
downloadAllLogs: () => Promise<any>;
}
export function DownloadLogsDropdown({ downloadAllLogs, downloadVisibleLogs }: DownloadLogsDropdownProps) {
@ -24,12 +24,13 @@ export function DownloadLogsDropdown({ downloadAllLogs, downloadVisibleLogs }: D
const downloadLogs = async (download: () => Promise<void>) => {
setWaiting(true);
try {
await download();
} finally {
setWaiting(false);
}
}
};
return (
<>