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

Add missing unit tests for coverage

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen 2023-03-17 10:38:15 +02:00
parent 3688967e4f
commit 5f43c22c7a
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A
3 changed files with 27 additions and 6 deletions

View File

@ -5,5 +5,5 @@ export * from "./src/start-application/time-slots";
export type { StartApplication } from "./src/start-application/start-application.injectable";
export { startApplicationInjectionToken } from "./src/start-application/start-application.injectable";
export { applicationInformationToken } from "./src/application-information-token";
export type { ApplicationInformation } from "./src/application-information-token";
export { applicationInformationToken } from "./src/application-information-token.no-coverage";
export type { ApplicationInformation } from "./src/application-information-token.no-coverage";

View File

@ -4,6 +4,7 @@ import { applicationFeature } from "../feature";
import { startApplicationInjectionToken } from "./start-application.injectable";
import * as timeSlots from "./time-slots";
import asyncFn, { AsyncFnMock } from "@async-fn/jest";
import { getPromiseStatus } from "@k8slens/test-utils";
describe("starting-of-application", () => {
let di: DiContainer;
@ -47,10 +48,12 @@ describe("starting-of-application", () => {
});
describe("when application is started", () => {
let actualPromise: Promise<void>;
beforeEach(() => {
const startApplication = di.inject(startApplicationInjectionToken);
void startApplication();
actualPromise = startApplication();
});
it("calls runnables registered in before application is loading", () => {
@ -66,10 +69,28 @@ describe("starting-of-application", () => {
expect(onLoadOfApplicationMock).toHaveBeenCalled();
});
it("when runnables in before application is loading resolve, calls runnables registered in after load of application", async () => {
await onLoadOfApplicationMock.resolve();
describe("when runnables in before application is loading resolve", () => {
beforeEach(async () => {
await onLoadOfApplicationMock.resolve();
});
expect(afterApplicationIsLoadedMock).toHaveBeenCalled();
it("calls runnables registered in after load of application", async () => {
expect(afterApplicationIsLoadedMock).toHaveBeenCalled();
});
it("does not resolve yet", async () => {
const promiseStatus = await getPromiseStatus(actualPromise);
expect(promiseStatus.fulfilled).toBe(false);
});
it("when runnables in after application is loaded resolve, resolves", async () => {
await afterApplicationIsLoadedMock.resolve();
const promiseStatus = await getPromiseStatus(actualPromise);
expect(promiseStatus.fulfilled).toBe(true);
});
});
});
});