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 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 { SearchStore } from "../../../../search-store/search-store";
import openSaveFileDialogInjectable from "../../../../utils/save-file.injectable"; 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 type { TabId } from "../../dock/store";
import dockStoreInjectable from "../../dock/store.injectable"; import dockStoreInjectable from "../../dock/store.injectable";
import callForAllLogsInjectable from "../call-for-all-logs.injectable"; import callForAllLogsInjectable from "../call-for-all-logs.injectable";
import createPodLogsTabInjectable from "../create-pod-logs-tab.injectable"; import createPodLogsTabInjectable from "../create-pod-logs-tab.injectable";
import getRandomIdForPodLogsTabInjectable from "../get-random-id-for-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 logsViewModelInjectable from "../logs-view-model.injectable";
import { dockerPod } from "./pod.mock"; import { dockerPod } from "./pod.mock";
@ -74,7 +77,7 @@ describe("download logs options in pod logs dock tab", () => {
builder.beforeApplicationStart(({ rendererDi }) => { builder.beforeApplicationStart(({ rendererDi }) => {
rendererDi.override(callForAllLogsInjectable, () => () => Promise.resolve("all-logs")); rendererDi.override(callForAllLogsInjectable, () => () => Promise.resolve("all-logs"));
rendererDi.override(logsViewModelInjectable, () => getOnePodViewModel("foobar")) rendererDi.override(logsViewModelInjectable, () => getOnePodViewModel("foobar"));
rendererDi.override(getRandomIdForPodLogsTabInjectable, () => rendererDi.override(getRandomIdForPodLogsTabInjectable, () =>
jest jest
.fn(() => "some-irrelevant-random-id") .fn(() => "some-irrelevant-random-id")
@ -110,7 +113,7 @@ describe("download logs options in pod logs dock tab", () => {
createLogsTab({ createLogsTab({
selectedPod: pod, selectedPod: pod,
selectedContainer: container selectedContainer: container,
}); });
}); });
@ -125,6 +128,7 @@ describe("download logs options in pod logs dock tab", () => {
describe("when clicking on button", () => { describe("when clicking on button", () => {
beforeEach(() => { beforeEach(() => {
const button = rendered.getByTestId("download-logs-dropdown"); const button = rendered.getByTestId("download-logs-dropdown");
act(() => button.click()); 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 () => { it("when selected 'download visible logs', shows save dialog with proper attributes", async () => {
const downloadMenuItem = rendered.getByTestId("download-visible-logs"); const downloadMenuItem = rendered.getByTestId("download-visible-logs");
downloadMenuItem.click() downloadMenuItem.click();
await waitFor(() => 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 () => { it("when selected 'download all logs', shows save dialog with proper attributes", async () => {
const downloadMenuItem = rendered.getByTestId("download-all-logs"); const downloadMenuItem = rendered.getByTestId("download-all-logs");
downloadMenuItem.click() downloadMenuItem.click();
await waitFor(() => 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 () => { it("when selected 'download all logs', block download dropdown for interaction", async () => {
const downloadMenuItem = rendered.getByTestId("download-all-logs"); const downloadMenuItem = rendered.getByTestId("download-all-logs");
downloadMenuItem.click() downloadMenuItem.click();
await waitFor(() => 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 () => { it("when save file dialog opens, restore download button for interaction", async () => {
const downloadMenuItem = rendered.getByTestId("download-all-logs"); const downloadMenuItem = rendered.getByTestId("download-all-logs");
downloadMenuItem.click() downloadMenuItem.click();
await waitFor(() => 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 { getInjectable } from "@ogre-tools/injectable";
import callForLogsInjectable from "./call-for-logs.injectable"; import callForLogsInjectable from "./call-for-logs.injectable";
@ -15,7 +19,7 @@ const callForAllLogsInjectable = getInjectable({
return logs; 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"); openSaveFileDialog(`${pod.getName()}.log`, logs, "text/plain");
} }
} };
const downloadLogs = () => { const downloadLogs = () => {
return new Promise((resolve) => { return new Promise((resolve) => {

View File

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