mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix welcome banner tests
- Update associated snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
d85a64a931
commit
21c47e3f82
@ -81,6 +81,7 @@ exports[`extension special characters in page registrations renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -81,6 +81,7 @@ exports[`navigate to extension page renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -81,6 +81,7 @@ exports[`add-cluster - navigation using application menu renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`installing update when started renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -367,6 +368,7 @@ exports[`installing update when started when user checks for updates renders 1`]
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -652,6 +654,7 @@ exports[`installing update when started when user checks for updates when new up
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -962,6 +965,7 @@ exports[`installing update when started when user checks for updates when new up
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -1272,6 +1276,7 @@ exports[`installing update when started when user checks for updates when new up
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -1557,6 +1562,7 @@ exports[`installing update when started when user checks for updates when no new
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -107,6 +107,7 @@ exports[`encourage user to update when sufficient time passed since update was d
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -392,6 +393,7 @@ exports[`encourage user to update when sufficient time passed since update was d
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`installing update using tray when started renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -367,6 +368,7 @@ exports[`installing update using tray when started when user checks for updates
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -652,6 +654,7 @@ exports[`installing update using tray when started when user checks for updates
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -962,6 +965,7 @@ exports[`installing update using tray when started when user checks for updates
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -1272,6 +1276,7 @@ exports[`installing update using tray when started when user checks for updates
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -1557,6 +1562,7 @@ exports[`installing update using tray when started when user checks for updates
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -107,6 +107,7 @@ exports[`force user to update when too long since update was downloaded when app
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -417,6 +418,7 @@ exports[`force user to update when too long since update was downloaded when app
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -774,6 +776,7 @@ exports[`force user to update when too long since update was downloaded when app
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`periodical checking of updates given updater is enabled and configurati
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`selection of update stability when started renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`opening catalog entity details panel renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -173,6 +173,7 @@ exports[`Command Pallet: keyboard shortcut tests when on linux renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -549,6 +550,7 @@ exports[`Command Pallet: keyboard shortcut tests when on linux when pressing ESC
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -1313,6 +1315,7 @@ exports[`Command Pallet: keyboard shortcut tests when on linux when pressing SHI
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -1598,6 +1601,7 @@ exports[`Command Pallet: keyboard shortcut tests when on macOS renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -1883,6 +1887,7 @@ exports[`Command Pallet: keyboard shortcut tests when on macOS when pressing ESC
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -2168,6 +2173,7 @@ exports[`Command Pallet: keyboard shortcut tests when on macOS when pressing SHI
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -2465,6 +2471,7 @@ exports[`Command Pallet: keyboard shortcut tests when on macOS when pressing SHI
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`Showing correct entity settings renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -81,6 +81,7 @@ exports[`extensions - navigation using application menu renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -81,6 +81,7 @@ exports[`preferences - navigation using application menu renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`show-about-using-tray renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`status-bar-items-originating-from-extensions when application starts wh
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -82,6 +82,7 @@ exports[`extendability-using-extension-api given an extension with a weakly type
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -376,6 +377,7 @@ exports[`extendability-using-extension-api given an extension with top-bar items
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -661,6 +663,7 @@ exports[`extendability-using-extension-api given an extension with top-bar items
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -946,6 +949,7 @@ exports[`extendability-using-extension-api renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -81,6 +81,7 @@ exports[`welcome - navigation using application menu renders 1`] = `
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
@ -1116,6 +1117,7 @@ exports[`welcome - navigation using application menu when navigated somewhere el
|
|||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="Icon logo svg focusable"
|
class="Icon logo svg focusable"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="icon"
|
class="icon"
|
||||||
|
|||||||
@ -0,0 +1,91 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import React from "react";
|
||||||
|
import type { RenderResult } from "@testing-library/react";
|
||||||
|
import { screen } from "@testing-library/react";
|
||||||
|
import { defaultWidth } from "../../renderer/components/+welcome/welcome";
|
||||||
|
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
||||||
|
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
||||||
|
|
||||||
|
describe("Banners from extensions", () => {
|
||||||
|
let builder: ApplicationBuilder;
|
||||||
|
let renderResult: RenderResult;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
builder = getApplicationBuilder();
|
||||||
|
renderResult = await builder.render();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("initially renderes welcome page", () => {
|
||||||
|
expect(renderResult.queryByTestId("welcome-page")).toBeInTheDocument();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("shows the empty welcome banner icon", () => {
|
||||||
|
expect(renderResult.queryByTestId("no-welcome-banners-icon")).toBeInTheDocument();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("when an extension is enabled with a single welcome banner", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
builder.extensions.enable({
|
||||||
|
id: "some-id",
|
||||||
|
name: "some-name",
|
||||||
|
rendererOptions: {
|
||||||
|
welcomeBanners: [
|
||||||
|
{
|
||||||
|
Banner: () => <div data-testid="some-test-id" />,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("renders the banner from the extension", () => {
|
||||||
|
expect(renderResult.queryByTestId("some-test-id")).toBeInTheDocument();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("no longer shows the empty welcome banner icon", () => {
|
||||||
|
expect(renderResult.queryByTestId("no-welcome-banners-icon")).not.toBeInTheDocument();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("when an extension is enabled with multiple banners with custom widths", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
builder.extensions.enable({
|
||||||
|
id: "some-id",
|
||||||
|
name: "some-name",
|
||||||
|
rendererOptions: {
|
||||||
|
welcomeBanners: [
|
||||||
|
{
|
||||||
|
width: 100,
|
||||||
|
Banner: () => <div />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
width: 800,
|
||||||
|
Banner: () => <div />,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("no longer shows the empty welcome banner icon", () => {
|
||||||
|
expect(renderResult.queryByTestId("no-welcome-banners-icon")).not.toBeInTheDocument();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("computes an opropriate width for the carosel", () => {
|
||||||
|
expect(screen.queryByTestId("welcome-banner-container")).toHaveStyle({
|
||||||
|
// should take the max width of the banners (if > defaultWidth)
|
||||||
|
width: `800px`,
|
||||||
|
});
|
||||||
|
expect(screen.queryByTestId("welcome-text-container")).toHaveStyle({
|
||||||
|
width: `${defaultWidth}px`,
|
||||||
|
});
|
||||||
|
expect(screen.queryByTestId("welcome-menu-container")).toHaveStyle({
|
||||||
|
width: `${defaultWidth}px`,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -1,102 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import React from "react";
|
|
||||||
import { screen } from "@testing-library/react";
|
|
||||||
import "@testing-library/jest-dom/extend-expect";
|
|
||||||
import { defaultWidth, Welcome } from "../welcome";
|
|
||||||
import { computed } from "mobx";
|
|
||||||
import { getDiForUnitTesting } from "../../../getDiForUnitTesting";
|
|
||||||
import type { DiRender } from "../../test-utils/renderFor";
|
|
||||||
import { renderFor } from "../../test-utils/renderFor";
|
|
||||||
import type { DiContainer } from "@ogre-tools/injectable";
|
|
||||||
import rendererExtensionsInjectable from "../../../../extensions/renderer-extensions.injectable";
|
|
||||||
import { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
|
|
||||||
import type { WelcomeBannerRegistration } from "../welcome-banner-items/welcome-banner-registration";
|
|
||||||
import currentlyInClusterFrameInjectable from "../../../routes/currently-in-cluster-frame.injectable";
|
|
||||||
|
|
||||||
describe("<Welcome/>", () => {
|
|
||||||
let render: DiRender;
|
|
||||||
let di: DiContainer;
|
|
||||||
let welcomeBannersStub: WelcomeBannerRegistration[];
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
|
||||||
|
|
||||||
di.override(currentlyInClusterFrameInjectable, () => false);
|
|
||||||
|
|
||||||
render = renderFor(di);
|
|
||||||
welcomeBannersStub = [];
|
|
||||||
|
|
||||||
di.override(rendererExtensionsInjectable, () =>
|
|
||||||
computed(() => [
|
|
||||||
new TestExtension({
|
|
||||||
id: "some-id",
|
|
||||||
welcomeBanners: welcomeBannersStub,
|
|
||||||
}),
|
|
||||||
]),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("renders <Banner /> registered in WelcomeBannerRegistry and hide logo", async () => {
|
|
||||||
const testId = "testId";
|
|
||||||
|
|
||||||
welcomeBannersStub.push({
|
|
||||||
Banner: () => <div data-testid={testId} />,
|
|
||||||
});
|
|
||||||
|
|
||||||
const { container } = render(<Welcome />);
|
|
||||||
|
|
||||||
expect(screen.queryByTestId(testId)).toBeInTheDocument();
|
|
||||||
expect(container.getElementsByClassName("logo").length).toBe(0);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("calculates max width from WelcomeBanner.width registered in WelcomeBannerRegistry", async () => {
|
|
||||||
welcomeBannersStub.push({
|
|
||||||
width: 100,
|
|
||||||
Banner: () => <div />,
|
|
||||||
});
|
|
||||||
|
|
||||||
welcomeBannersStub.push({
|
|
||||||
width: 800,
|
|
||||||
Banner: () => <div />,
|
|
||||||
});
|
|
||||||
|
|
||||||
render(<Welcome />);
|
|
||||||
|
|
||||||
expect(screen.queryByTestId("welcome-banner-container")).toHaveStyle({
|
|
||||||
// should take the max width of the banners (if > defaultWidth)
|
|
||||||
width: `800px`,
|
|
||||||
});
|
|
||||||
expect(screen.queryByTestId("welcome-text-container")).toHaveStyle({
|
|
||||||
width: `${defaultWidth}px`,
|
|
||||||
});
|
|
||||||
expect(screen.queryByTestId("welcome-menu-container")).toHaveStyle({
|
|
||||||
width: `${defaultWidth}px`,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
class TestExtension extends LensRendererExtension {
|
|
||||||
constructor({
|
|
||||||
id,
|
|
||||||
welcomeBanners,
|
|
||||||
}: {
|
|
||||||
id: string;
|
|
||||||
welcomeBanners: WelcomeBannerRegistration[];
|
|
||||||
}) {
|
|
||||||
super({
|
|
||||||
id,
|
|
||||||
absolutePath: "irrelevant",
|
|
||||||
isBundled: false,
|
|
||||||
isCompatible: false,
|
|
||||||
isEnabled: false,
|
|
||||||
manifest: { name: id, version: "some-version", engines: { lens: "^5.5.0" }},
|
|
||||||
manifestPath: "irrelevant",
|
|
||||||
});
|
|
||||||
|
|
||||||
this.welcomeBanners = welcomeBanners;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -71,7 +71,11 @@ const NonInjectedWelcome = observer(({
|
|||||||
))}
|
))}
|
||||||
</Carousel>
|
</Carousel>
|
||||||
) : (
|
) : (
|
||||||
<Icon svg="logo-lens" className="logo" />
|
<Icon
|
||||||
|
svg="logo-lens"
|
||||||
|
className="logo"
|
||||||
|
data-testid="no-welcome-banners-icon"
|
||||||
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<div className="flex justify-center">
|
<div className="flex justify-center">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user