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:
parent
34f51097cb
commit
356712cbe1
@ -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,43 +143,43 @@ 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");
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -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;
|
||||
@ -55,7 +55,7 @@ const NonInjectedLogControls = observer(({ openSaveFileDialog, model, callForAll
|
||||
|
||||
openSaveFileDialog(`${pod.getName()}.log`, logs, "text/plain");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const downloadLogs = () => {
|
||||
return new Promise((resolve) => {
|
||||
|
||||
@ -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 (
|
||||
<>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user