mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Removing header part Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Restyling PageLayout Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Restyling .round-black Input Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding Tab navigation to Preferences Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Styling Application tab Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Add esc button Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Add media queries Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Introducting Switcher component Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Styling Proxy tab Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Moving start-up switcher to Other tab Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Styling Kubernetes tab Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Styling Extensions tab Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Styling inputs and selects Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Styling helm chart section Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Create a telemetry tab with extensions Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding lens Select theme Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Remove Other tab Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Fix mainBackground color Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Simplifying Tabs boilerplate Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Replacing button font Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Fixing one-column settings layout Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Fixing integration tests Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Fixin tests harder Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Showing bottom bar in workspaces Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
80 lines
3.0 KiB
TypeScript
80 lines
3.0 KiB
TypeScript
/**
|
|
* @jest-environment node
|
|
*/
|
|
|
|
/*
|
|
Cluster tests are run if there is a pre-existing minikube cluster. Before running cluster tests the TEST_NAMESPACE
|
|
namespace is removed, if it exists, from the minikube cluster. Resources are created as part of the cluster tests in the
|
|
TEST_NAMESPACE namespace. This is done to minimize destructive impact of the cluster tests on an existing minikube
|
|
cluster and vice versa.
|
|
*/
|
|
import { Application } from "spectron";
|
|
import * as utils from "../helpers/utils";
|
|
import { listHelmRepositories } from "../helpers/utils";
|
|
import { fail } from "assert";
|
|
|
|
jest.setTimeout(60000);
|
|
|
|
// FIXME (!): improve / simplify all css-selectors + use [data-test-id="some-id"] (already used in some tests below)
|
|
describe("Lens integration tests", () => {
|
|
let app: Application;
|
|
|
|
describe("app start", () => {
|
|
utils.beforeAllWrapped(async () => {
|
|
app = await utils.appStart();
|
|
});
|
|
|
|
utils.afterAllWrapped(async () => {
|
|
if (app?.isRunning()) {
|
|
await utils.tearDown(app);
|
|
}
|
|
});
|
|
|
|
it('shows "whats new"', async () => {
|
|
await utils.clickWhatsNew(app);
|
|
});
|
|
|
|
it('shows "add cluster"', async () => {
|
|
await app.electron.ipcRenderer.send("test-menu-item-click", "File", "Add Cluster");
|
|
await app.client.waitUntilTextExists("h2", "Add Clusters from Kubeconfig");
|
|
});
|
|
|
|
describe("preferences page", () => {
|
|
it('shows "preferences"', async () => {
|
|
const appName: string = process.platform === "darwin" ? "Lens" : "File";
|
|
|
|
await app.electron.ipcRenderer.send("test-menu-item-click", appName, "Preferences");
|
|
await app.client.waitUntilTextExists("[data-testid=application-header]", "APPLICATION");
|
|
});
|
|
|
|
it("shows all tabs and their contents", async () => {
|
|
await app.client.click("[data-testid=application-tab]");
|
|
await app.client.click("[data-testid=proxy-tab]");
|
|
await app.client.waitUntilTextExists("[data-testid=proxy-header]", "PROXY");
|
|
await app.client.click("[data-testid=kube-tab]");
|
|
await app.client.waitUntilTextExists("[data-testid=kubernetes-header]", "KUBERNETES");
|
|
await app.client.click("[data-testid=telemetry-tab]");
|
|
await app.client.waitUntilTextExists("[data-testid=telemetry-header]", "TELEMETRY");
|
|
});
|
|
|
|
it("ensures helm repos", async () => {
|
|
const repos = await listHelmRepositories();
|
|
|
|
if (!repos[0]) {
|
|
fail("Lens failed to add Bitnami repository");
|
|
}
|
|
|
|
await app.client.click("[data-testid=kube-tab]");
|
|
await app.client.waitUntilTextExists("div.repos .repoName", repos[0].name); // wait for the helm-cli to fetch the repo(s)
|
|
await app.client.click("#HelmRepoSelect"); // click the repo select to activate the drop-down
|
|
await app.client.waitUntilTextExists("div.Select__option", ""); // wait for at least one option to appear (any text)
|
|
});
|
|
});
|
|
|
|
it.skip('quits Lens"', async () => {
|
|
await app.client.keys(["Meta", "Q"]);
|
|
await app.client.keys("Meta");
|
|
});
|
|
});
|
|
});
|