mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
wrap all lifetime functions with a fail on async reject
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
8db9251718
commit
73097c02dc
@ -3,7 +3,6 @@ import * as utils from "../helpers/utils";
|
|||||||
import { listHelmRepositories } from "../helpers/utils";
|
import { listHelmRepositories } from "../helpers/utils";
|
||||||
import { fail } from "assert";
|
import { fail } from "assert";
|
||||||
|
|
||||||
|
|
||||||
jest.setTimeout(60000);
|
jest.setTimeout(60000);
|
||||||
|
|
||||||
// FIXME (!): improve / simplify all css-selectors + use [data-test-id="some-id"] (already used in some tests below)
|
// FIXME (!): improve / simplify all css-selectors + use [data-test-id="some-id"] (already used in some tests below)
|
||||||
@ -11,13 +10,15 @@ describe("Lens integration tests", () => {
|
|||||||
let app: Application;
|
let app: Application;
|
||||||
|
|
||||||
describe("app start", () => {
|
describe("app start", () => {
|
||||||
beforeAll(async () => app = await utils.appStart(), 20000);
|
beforeAll(utils.wrapJestLifecycle(async () => {
|
||||||
|
app = await utils.appStart();
|
||||||
|
}));
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(utils.wrapJestLifecycle(async () => {
|
||||||
if (app?.isRunning()) {
|
if (app?.isRunning()) {
|
||||||
await utils.tearDown(app);
|
await utils.tearDown(app);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
|
|
||||||
it('shows "whats new"', async () => {
|
it('shows "whats new"', async () => {
|
||||||
await utils.clickWhatsNew(app);
|
await utils.clickWhatsNew(app);
|
||||||
|
|||||||
@ -32,13 +32,15 @@ describe("Lens cluster pages", () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
describe("cluster add", () => {
|
describe("cluster add", () => {
|
||||||
beforeAll(async () => app = await utils.appStart(), 20000);
|
beforeAll(utils.wrapJestLifecycle(async () => {
|
||||||
|
app = await utils.appStart();
|
||||||
|
}));
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(utils.wrapJestLifecycle(async () => {
|
||||||
if (app && app.isRunning()) {
|
if (app && app.isRunning()) {
|
||||||
return utils.tearDown(app);
|
return utils.tearDown(app);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
|
|
||||||
it("allows to add a cluster", async () => {
|
it("allows to add a cluster", async () => {
|
||||||
await addCluster();
|
await addCluster();
|
||||||
@ -55,13 +57,13 @@ describe("Lens cluster pages", () => {
|
|||||||
|
|
||||||
describe("cluster pages", () => {
|
describe("cluster pages", () => {
|
||||||
|
|
||||||
beforeAll(appStartAddCluster, 40000);
|
beforeAll(utils.wrapJestLifecycle(appStartAddCluster));
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(utils.wrapJestLifecycle(async () => {
|
||||||
if (app && app.isRunning()) {
|
if (app && app.isRunning()) {
|
||||||
return utils.tearDown(app);
|
return utils.tearDown(app);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
|
|
||||||
const tests: {
|
const tests: {
|
||||||
drawer?: string
|
drawer?: string
|
||||||
@ -337,13 +339,13 @@ describe("Lens cluster pages", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("viewing pod logs", () => {
|
describe("viewing pod logs", () => {
|
||||||
beforeEach(appStartAddCluster, 40000);
|
beforeEach(utils.wrapJestLifecycle(appStartAddCluster));
|
||||||
|
|
||||||
afterEach(async () => {
|
afterEach(utils.wrapJestLifecycle(async () => {
|
||||||
if (app && app.isRunning()) {
|
if (app?.isRunning()) {
|
||||||
return utils.tearDown(app);
|
return utils.tearDown(app);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
|
|
||||||
it(`shows a logs for a pod`, async () => {
|
it(`shows a logs for a pod`, async () => {
|
||||||
expect(clusterAdded).toBe(true);
|
expect(clusterAdded).toBe(true);
|
||||||
@ -387,13 +389,13 @@ describe("Lens cluster pages", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("cluster operations", () => {
|
describe("cluster operations", () => {
|
||||||
beforeEach(appStartAddCluster, 40000);
|
beforeEach(utils.wrapJestLifecycle(appStartAddCluster));
|
||||||
|
|
||||||
afterEach(async () => {
|
afterEach(utils.wrapJestLifecycle(async () => {
|
||||||
if (app && app.isRunning()) {
|
if (app?.isRunning()) {
|
||||||
return utils.tearDown(app);
|
return utils.tearDown(app);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
|
|
||||||
it("shows default namespace", async () => {
|
it("shows default namespace", async () => {
|
||||||
expect(clusterAdded).toBe(true);
|
expect(clusterAdded).toBe(true);
|
||||||
|
|||||||
@ -7,13 +7,15 @@ describe("Lens command palette", () => {
|
|||||||
let app: Application;
|
let app: Application;
|
||||||
|
|
||||||
describe("menu", () => {
|
describe("menu", () => {
|
||||||
beforeAll(async () => app = await utils.appStart(), 20000);
|
beforeAll(utils.wrapJestLifecycle(async () => {
|
||||||
|
app = await utils.appStart();
|
||||||
|
}));
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(utils.wrapJestLifecycle(async () => {
|
||||||
if (app?.isRunning()) {
|
if (app?.isRunning()) {
|
||||||
await utils.tearDown(app);
|
await utils.tearDown(app);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
|
|
||||||
it("opens command dialog from menu", async () => {
|
it("opens command dialog from menu", async () => {
|
||||||
await utils.clickWhatsNew(app);
|
await utils.clickWhatsNew(app);
|
||||||
|
|||||||
@ -13,16 +13,16 @@ describe("Lens integration tests", () => {
|
|||||||
const ready = minikubeReady("workspace-int-tests");
|
const ready = minikubeReady("workspace-int-tests");
|
||||||
|
|
||||||
utils.describeIf(ready)("workspaces", () => {
|
utils.describeIf(ready)("workspaces", () => {
|
||||||
beforeAll(async () => {
|
beforeAll(utils.wrapJestLifecycle(async () => {
|
||||||
app = await utils.appStart();
|
app = await utils.appStart();
|
||||||
await utils.clickWhatsNew(app);
|
await utils.clickWhatsNew(app);
|
||||||
}, 20000);
|
}));
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(utils.wrapJestLifecycle(async () => {
|
||||||
if (app && app.isRunning()) {
|
if (app?.isRunning()) {
|
||||||
return utils.tearDown(app);
|
return utils.tearDown(app);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
|
|
||||||
const switchToWorkspace = async (name: string) => {
|
const switchToWorkspace = async (name: string) => {
|
||||||
await app.client.click("[data-test-id=current-workspace]");
|
await app.client.click("[data-test-id=current-workspace]");
|
||||||
|
|||||||
@ -8,6 +8,23 @@ const AppPaths: Partial<Record<NodeJS.Platform, string>> = {
|
|||||||
"darwin": "./dist/mac/Lens.app/Contents/MacOS/Lens",
|
"darwin": "./dist/mac/Lens.app/Contents/MacOS/Lens",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
interface DoneCallback {
|
||||||
|
(...args: any[]): any;
|
||||||
|
fail(error?: string | { message: string }): any;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is necessary because Jest doesn't do this correctly.
|
||||||
|
* @param fn The function to call
|
||||||
|
*/
|
||||||
|
export function wrapJestLifecycle(fn: () => Promise<void>): (done: DoneCallback) => void {
|
||||||
|
return function (done: DoneCallback) {
|
||||||
|
fn()
|
||||||
|
.then(() => done())
|
||||||
|
.catch(error => done.fail(error));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function itIf(condition: boolean) {
|
export function itIf(condition: boolean) {
|
||||||
return condition ? it : it.skip;
|
return condition ? it : it.skip;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user