mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Restructure to monorepo (#6907)
* wip: restructure to monorepo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor create-release-pr to a package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * github workflow fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix typo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * add webpack-env types to core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix github workflows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor/fix integration tests Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * lint fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * yarn run dev Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * eslint settings for vscode Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * move templates to right package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * open-lens build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * integration test fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix nx task dependencies Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * use bash shell for unit tests in test workflow Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix test:unit for windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix build:app on windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove ELECTRON_BUILDER_EXTRA_ARGS Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * sync src/ from master Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove Makefile from core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
1 parent
0066ca4ea2
commit
2657df2293
3321 files changed
+28699
-11447
No files matched your search
+1319
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
||||
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
||||
|
||||
describe("welcome - navigation using application menu", () => {
|
||||
let applicationBuilder: ApplicationBuilder;
|
||||
let rendered: RenderResult;
|
||||
|
||||
beforeEach(async () => {
|
||||
applicationBuilder = getApplicationBuilder();
|
||||
|
||||
rendered = await applicationBuilder.render();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.container).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("shows welcome page being front page", () => {
|
||||
const actual = rendered.getByTestId("welcome-page");
|
||||
|
||||
expect(actual).not.toBeNull();
|
||||
});
|
||||
|
||||
describe("when navigated somewhere else", () => {
|
||||
beforeEach(() => {
|
||||
applicationBuilder.applicationMenu.click(
|
||||
"root",
|
||||
"mac",
|
||||
"navigate-to-preferences",
|
||||
);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("does not show welcome page", () => {
|
||||
const actual = rendered.queryByTestId("welcome-page");
|
||||
|
||||
expect(actual).toBeNull();
|
||||
});
|
||||
|
||||
describe("when navigated to welcome using application menu", () => {
|
||||
beforeEach(() => {
|
||||
applicationBuilder.applicationMenu.click(
|
||||
"root",
|
||||
"help",
|
||||
"navigate-to-welcome",
|
||||
);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.container).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("shows welcome page", () => {
|
||||
const actual = rendered.getByTestId("welcome-page");
|
||||
|
||||
expect(actual).not.toBeNull();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,99 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import React from "react";
|
||||
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
||||
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
||||
import type { FakeExtensionOptions } from "../../renderer/components/test-utils/get-extension-fake";
|
||||
import welcomeRouteConfigInjectable from "../../common/front-end-routing/routes/welcome/welcome-route-config.injectable";
|
||||
import welcomeRouteInjectable from "../../common/front-end-routing/routes/welcome/welcome-route.injectable";
|
||||
import type { Route } from "../../common/front-end-routing/front-end-route-injection-token";
|
||||
|
||||
|
||||
describe("setting-welcome-page", () => {
|
||||
let applicationBuilder: ApplicationBuilder;
|
||||
let rendered : RenderResult;
|
||||
let welcomeRoute: Route;
|
||||
|
||||
beforeEach(() => {
|
||||
applicationBuilder = getApplicationBuilder();
|
||||
});
|
||||
|
||||
describe("given configuration of welcome page route is the default", () => {
|
||||
beforeEach(async () => {
|
||||
applicationBuilder.beforeApplicationStart((mainDi) => {
|
||||
mainDi.override(welcomeRouteConfigInjectable, () => "/welcome");
|
||||
});
|
||||
|
||||
applicationBuilder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(welcomeRouteConfigInjectable, () => "/welcome");
|
||||
});
|
||||
|
||||
// enable the extension even though the welcomeRoute is not overriden
|
||||
applicationBuilder.extensions.enable(extensionWithWelcomePage);
|
||||
rendered = await applicationBuilder.render();
|
||||
|
||||
const windowDi = applicationBuilder.applicationWindow.only.di;
|
||||
|
||||
welcomeRoute = windowDi.inject(welcomeRouteInjectable);
|
||||
});
|
||||
|
||||
it("sets the default welcome page", () => {
|
||||
expect(welcomeRoute.path).toEqual("/welcome");
|
||||
});
|
||||
|
||||
it("launches to the default welcome page", () => {
|
||||
const welcomePage = rendered.getByTestId("welcome-page"); // from the Welcome component (welcome.tsx)
|
||||
|
||||
expect(welcomePage).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
describe("given configuration of welcome page route is set to a custom page", () => {
|
||||
beforeEach(async () => {
|
||||
applicationBuilder.beforeApplicationStart((mainDi) => {
|
||||
mainDi.override(welcomeRouteConfigInjectable, () => "/extension/some-extension-name/some-welcome-page");
|
||||
});
|
||||
|
||||
applicationBuilder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(welcomeRouteConfigInjectable, () => "/extension/some-extension-name/some-welcome-page");
|
||||
});
|
||||
|
||||
applicationBuilder.extensions.enable(extensionWithWelcomePage);
|
||||
rendered = await applicationBuilder.render();
|
||||
|
||||
const windowDi = applicationBuilder.applicationWindow.only.di;
|
||||
|
||||
welcomeRoute = windowDi.inject(welcomeRouteInjectable);
|
||||
});
|
||||
|
||||
it("sets the custom welcome page", () => {
|
||||
expect(welcomeRoute.path).toEqual("/extension/some-extension-name/some-welcome-page");
|
||||
});
|
||||
|
||||
it("launches to the custom welcome page ", () => {
|
||||
const welcomePage = rendered.getByTestId("some-welcome-test-id");
|
||||
|
||||
expect(welcomePage).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
const extensionWithWelcomePage: FakeExtensionOptions = {
|
||||
id: "some-extension-id",
|
||||
name: "some-extension-name",
|
||||
|
||||
rendererOptions: {
|
||||
globalPages: [
|
||||
{
|
||||
id: "some-welcome-page",
|
||||
components: {
|
||||
Page: () => <div data-testid="some-welcome-test-id">Welcome page</div>,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
Reference in new issue
Block a user