auto-update notifications on the status bar (#5361)

* auto-update notifications on the status bar

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* integrated with new and improved autoupdate code

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* lint

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* refactored to include AutoUpdateComponent in the statusBarItemsInjectable

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* refactor to use a registrator

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* fix lint, remove unused code

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* refactored for the simplified logic for injecting many instances PR

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* using the update syncBox injectables directly for status bar notifications

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* removed update broadcasting/listening, updated snapshots

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* fixing tests

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* fixed tests

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* cleanup after rebase to master

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* address review comments

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* fixed incorrect injectable id

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* address review comments

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* Tweak code-style

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Jim EhrismannandJanne Savolainen authored and GitHub committed 2022-07-01 14:09:00 +03:00
1 parent 165bf57380
commit 3480b517c1
47 files changed
+1999 -792

No files matched your search

@@ -52,9 +52,21 @@ exports[`extension special characters in page registrations renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -115,9 +127,21 @@ exports[`extension special characters in page registrations when navigating to r
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div>
@@ -52,9 +52,21 @@ exports[`navigate to extension page renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -115,9 +127,21 @@ exports[`navigate to extension page when extension navigates to child route rend
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div>
@@ -181,9 +205,21 @@ exports[`navigate to extension page when extension navigates to route with param
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div>
@@ -263,9 +299,21 @@ exports[`navigate to extension page when extension navigates to route without pa
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div>
@@ -345,9 +393,21 @@ exports[`navigate to extension page when extension navigates to route without pa
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div>
@@ -52,9 +52,21 @@ exports[`navigating between routes given route with optional path parameters whe
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<pre>
@@ -121,9 +133,21 @@ exports[`navigating between routes given route without path parameters when navi
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div>
@@ -52,9 +52,21 @@ exports[`add-cluster - navigation using application menu renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -115,9 +127,21 @@ exports[`add-cluster - navigation using application menu when navigating to add
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`encourage user to update when sufficient time passed since update was d
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`installing update using tray when started renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -118,55 +130,29 @@ exports[`installing update using tray when started when user checks for updates
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
class="Spinner singleColor"
/>
<div
data-testid="app-update-checking"
>
Checking for updates...
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
class="Notifications flex column align-flex-end"
>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Checking for updates...
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_43"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
</div>
/>
</div>
</body>
`;
@@ -224,95 +210,29 @@ exports[`installing update using tray when started when user checks for updates
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-downloading"
>
Downloading version some-version...
</div>
<div
class="Spinner singleColor"
/>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
class="Notifications flex column align-flex-end"
>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Checking for updates...
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_181"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Download for version some-version started...
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_184"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
</div>
/>
</div>
</body>
`;
@@ -388,135 +308,26 @@ exports[`installing update using tray when started when user checks for updates
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-download-failed"
>
Download of update failed
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
class="Notifications flex column align-flex-end"
>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Checking for updates...
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_268"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Download for version some-version started...
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_271"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Download of update failed
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_277"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
</div>
/>
</div>
</body>
`;
@@ -592,95 +403,26 @@ exports[`installing update using tray when started when user checks for updates
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-available"
>
some-version is available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
class="Notifications flex column align-flex-end"
>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Checking for updates...
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_335"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Download for version some-version started...
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_338"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
</div>
/>
</div>
</body>
`;
@@ -738,95 +480,26 @@ exports[`installing update using tray when started when user checks for updates
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
class="Notifications flex column align-flex-end"
>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
Checking for updates...
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_104"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
<div
class="Animate opacity notification flex info enter"
style="--enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="box"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="info_outline"
>
info_outline
</span>
</i>
</div>
<div
class="message box grow"
>
No new updates available
</div>
<div
class="box"
>
<i
class="Icon close material interactive focusable"
data-testid="close-notification-for-notification_107"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
</div>
</div>
</div>
/>
</div>
</body>
`;
@@ -53,9 +53,21 @@ exports[`installing update when started renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -118,9 +130,24 @@ exports[`installing update when started when user checks for updates renders 1`]
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
class="Spinner singleColor"
/>
<div
data-testid="app-update-checking"
>
Checking for updates...
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -183,9 +210,24 @@ exports[`installing update when started when user checks for updates when new up
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-downloading"
>
Downloading version some-version...
</div>
<div
class="Spinner singleColor"
/>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -266,9 +308,21 @@ exports[`installing update when started when user checks for updates when new up
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-download-failed"
>
Download of update failed
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -349,9 +403,21 @@ exports[`installing update when started when user checks for updates when new up
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-available"
>
some-version is available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -414,9 +480,21 @@ exports[`installing update when started when user checks for updates when no new
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`periodical checking of updates given updater is enabled and configurati
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`selection of update stability when started renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -15,7 +15,6 @@ import asyncFn from "@async-fn/jest";
import type { DownloadPlatformUpdate } from "../../main/application-update/download-platform-update/download-platform-update.injectable";
import downloadPlatformUpdateInjectable from "../../main/application-update/download-platform-update/download-platform-update.injectable";
import setUpdateOnQuitInjectable from "../../main/electron-app/features/set-update-on-quit.injectable";
import showInfoNotificationInjectable from "../../renderer/components/notifications/show-info-notification.injectable";
import processCheckingForUpdatesInjectable from "../../main/application-update/check-for-updates/process-checking-for-updates.injectable";
describe("installing update", () => {
@@ -24,19 +23,17 @@ describe("installing update", () => {
let checkForPlatformUpdatesMock: AsyncFnMock<CheckForPlatformUpdates>;
let downloadPlatformUpdateMock: AsyncFnMock<DownloadPlatformUpdate>;
let setUpdateOnQuitMock: jest.Mock;
let showInfoNotificationMock: jest.Mock;
beforeEach(() => {
jest.useFakeTimers();
applicationBuilder = getApplicationBuilder();
applicationBuilder.beforeApplicationStart(({ mainDi, rendererDi }) => {
applicationBuilder.beforeApplicationStart(({ mainDi }) => {
quitAndInstallUpdateMock = jest.fn();
checkForPlatformUpdatesMock = asyncFn();
downloadPlatformUpdateMock = asyncFn();
setUpdateOnQuitMock = jest.fn();
showInfoNotificationMock = jest.fn(() => () => {});
rendererDi.override(showInfoNotificationInjectable, () => showInfoNotificationMock);
mainDi.override(setUpdateOnQuitInjectable, () => setUpdateOnQuitMock);
@@ -89,7 +86,7 @@ describe("installing update", () => {
});
it("notifies the user that checking for updates is happening", () => {
expect(showInfoNotificationMock).toHaveBeenCalledWith("Checking for updates...");
expect(rendered.getByTestId("app-update-checking")).toBeInTheDocument();
});
it("renders", () => {
@@ -98,8 +95,6 @@ describe("installing update", () => {
describe("when no new update is discovered", () => {
beforeEach(async () => {
showInfoNotificationMock.mockClear();
await checkForPlatformUpdatesMock.resolve({
updateWasDiscovered: false,
});
@@ -108,7 +103,7 @@ describe("installing update", () => {
});
it("notifies the user", () => {
expect(showInfoNotificationMock).toHaveBeenCalledWith("No new updates available");
expect(rendered.getByTestId("app-update-not-available")).toBeInTheDocument();
});
it("does not start downloading update", () => {
@@ -118,6 +113,12 @@ describe("installing update", () => {
it("renders", () => {
expect(rendered.baseElement).toMatchSnapshot();
});
it.skip("when 5 seconds elapses, clears the notification to the user", () => {
jest.advanceTimersByTime(6000);
expect(rendered.getByTestId("app-update-idle")).toBeInTheDocument();
});
});
describe("when new update is discovered", () => {
@@ -135,7 +136,7 @@ describe("installing update", () => {
});
it("notifies the user that download is happening", () => {
expect(showInfoNotificationMock).toHaveBeenCalledWith("Download for version some-version started...");
expect(rendered.getByTestId("app-update-downloading")).toBeInTheDocument();
});
it("renders", () => {
@@ -152,7 +153,7 @@ describe("installing update", () => {
});
it("notifies the user about failed download", () => {
expect(showInfoNotificationMock).toHaveBeenCalledWith("Download of update failed");
expect(rendered.getByTestId("app-update-download-failed")).toBeInTheDocument();
});
it("renders", () => {
@@ -169,6 +170,10 @@ describe("installing update", () => {
expect(quitAndInstallUpdateMock).not.toHaveBeenCalled();
});
it("notifies the user about successful download", () => {
expect(rendered.getByTestId("app-update-available")).toBeInTheDocument();
});
it("renders", () => {
expect(rendered.baseElement).toMatchSnapshot();
});
@@ -52,9 +52,21 @@ exports[`extensions - navigation using application menu renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -115,9 +127,21 @@ exports[`extensions - navigation using application menu when navigating to exten
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -577,9 +589,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1108,9 +1132,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1748,9 +1784,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2287,9 +2335,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2927,9 +2987,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -3743,9 +3815,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -4383,9 +4467,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -5199,9 +5295,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -5839,9 +5947,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -6378,9 +6498,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -6910,9 +7042,21 @@ exports[`add custom helm repository in preferences when navigating to preference
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -577,9 +589,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1108,9 +1132,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1692,9 +1728,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2223,9 +2271,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2754,9 +2814,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -3278,9 +3350,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -3839,9 +3923,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -4463,9 +4559,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -5024,9 +5132,21 @@ exports[`add helm repository from list in preferences when navigating to prefere
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -577,9 +589,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1101,9 +1125,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1517,9 +1553,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2041,9 +2089,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2457,9 +2517,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2981,9 +3053,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -3542,9 +3626,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -3958,9 +4054,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -4374,9 +4482,21 @@ exports[`listing active helm repositories in preferences when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`remove helm repository from list of active repositories in preferences
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -577,9 +589,21 @@ exports[`remove helm repository from list of active repositories in preferences
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1108,9 +1132,21 @@ exports[`remove helm repository from list of active repositories in preferences
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1639,9 +1675,21 @@ exports[`remove helm repository from list of active repositories in preferences
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -52,9 +52,21 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -648,9 +660,21 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -848,9 +872,21 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div>
@@ -914,9 +950,21 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div>
@@ -980,9 +1028,21 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1576,9 +1636,21 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1776,9 +1848,21 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1976,9 +2060,21 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -52,9 +52,21 @@ exports[`preferences - navigation to application preferences given in some child
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -312,9 +324,21 @@ exports[`preferences - navigation to application preferences given in some child
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -52,9 +52,21 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -636,9 +648,21 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -67,9 +67,21 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -301,9 +313,21 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -547,9 +571,21 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -793,9 +829,21 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1062,9 +1110,21 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1646,9 +1706,21 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2265,9 +2337,21 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2523,9 +2607,21 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2726,9 +2822,21 @@ exports[`preferences - navigation to extension specific preferences when navigat
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -2960,9 +3068,21 @@ exports[`preferences - navigation to extension specific preferences when navigat
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -52,9 +52,21 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -636,9 +648,21 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -52,9 +52,21 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -636,9 +648,21 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -52,9 +52,21 @@ exports[`preferences - navigation to telemetry preferences given URL for Sentry
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -298,9 +310,21 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -882,9 +906,21 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1478,9 +1514,21 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -1712,9 +1760,21 @@ exports[`preferences - navigation to telemetry preferences given no URL for Sent
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -52,9 +52,21 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -636,9 +648,21 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -52,9 +52,21 @@ exports[`preferences - navigation using application menu renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -115,9 +127,21 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -53,9 +53,21 @@ exports[`show-about-using-tray renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -118,9 +130,21 @@ exports[`show-about-using-tray when navigating using tray renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -0,0 +1,124 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`status-bar-items-originating-from-extensions when application starts when extension with status bar items is loaded renders 1`] = `
<body>
<div>
<div
class="topBar"
>
<div
class="items"
>
<i
class="Icon material interactive focusable"
data-testid="home-button"
tabindex="0"
>
<span
class="icon"
data-icon-name="home"
>
home
</span>
</i>
<i
class="Icon material interactive disabled focusable"
data-testid="history-back"
>
<span
class="icon"
data-icon-name="arrow_back"
>
arrow_back
</span>
</i>
<i
class="Icon material interactive disabled focusable"
data-testid="history-forward"
>
<span
class="icon"
data-icon-name="arrow_forward"
>
arrow_forward
</span>
</i>
</div>
<div
class="items"
/>
</div>
<div
class="StatusBar"
>
<div
class="leftSide"
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
<div
class="item"
>
<div
data-testid="some-testId"
>
left1
</div>
</div>
<div
class="item"
>
<div
data-testid="some-testId"
>
left2
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
>
<div
class="item"
>
<div
data-testid="some-testId"
>
right3
</div>
</div>
<div
class="item"
>
<span
data-testid="some-testId"
>
right2
</span>
</div>
<div
class="item"
>
<span
data-testid="some-testId"
>
right1
</span>
</div>
</div>
</div>
<div
class="Notifications flex column align-flex-end"
/>
</div>
</body>
`;
@@ -0,0 +1,150 @@
/**
* 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 { GetRendererExtensionFake, TestExtension } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import { getRendererExtensionFakeFor } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import getRandomIdInjectable from "../../common/utils/get-random-id.injectable";
describe("status-bar-items-originating-from-extensions", () => {
let applicationBuilder: ApplicationBuilder;
beforeEach(() => {
applicationBuilder = getApplicationBuilder();
applicationBuilder.beforeApplicationStart(({ rendererDi }) => {
rendererDi.unoverride(getRandomIdInjectable);
rendererDi.permitSideEffects(getRandomIdInjectable);
});
});
describe("when application starts", () => {
let rendered: RenderResult;
let getRendererExtensionFake: GetRendererExtensionFake;
beforeEach(async () => {
rendered = await applicationBuilder.render();
getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder);
});
it("when multiple extensions with status bar items are loaded, shows items in correct order", () => {
const testExtension1 = getRendererExtensionFake({
id: "some-id",
name: "some-name",
statusBarItems: [
{
components: {
Item: () => <div data-testid="some-testId">extension1</div>,
position: "right",
},
},
],
});
const testExtension2 = getRendererExtensionFake({
id: "some-other-id",
name: "some-other-name",
statusBarItems: [
{
components: {
Item: () => <div data-testid="some-testId">extension2</div>,
position: "right",
},
},
],
});
applicationBuilder.extensions.renderer.enable(testExtension1, testExtension2);
const rightSide = rendered.getByTestId("status-bar-right");
const actual = getTestStatusBarTexts(rightSide, [
"extension1",
"extension2",
]);
expect(actual).toEqual(["extension2", "extension1"]);
});
describe("when extension with status bar items is loaded", () => {
let testExtension: TestExtension;
beforeEach(() => {
testExtension = getRendererExtensionFake({
id: "some-id",
name: "some-name",
statusBarItems: [
{
item: () => <span data-testid="some-testId">right1</span>,
},
{
item: () => <span data-testid="some-testId">right2</span>,
},
{
components: {
Item: () => <div data-testid="some-testId">right3</div>,
position: "right",
},
},
{
components: {
Item: () => <div data-testid="some-testId">left1</div>,
position: "left",
},
},
{
components: {
Item: () => <div data-testid="some-testId">left2</div>,
position: "left",
},
},
],
});
applicationBuilder.extensions.renderer.enable(testExtension);
});
it("renders", () => {
expect(rendered.baseElement).toMatchSnapshot();
});
it("shows right side status bar items in the correct order", () => {
const rightSide = rendered.getByTestId("status-bar-right");
const actual = getTestStatusBarTexts(rightSide, [
"right1",
"right2",
"right3",
]);
expect(actual).toEqual(["right3", "right2", "right1"]);
});
it("shows left side status bar items in the correct order", () => {
const leftSide = rendered.getByTestId("status-bar-left");
const actual = getTestStatusBarTexts(leftSide, ["left2", "left1"]);
expect(actual).toEqual(["left1", "left2"]);
});
it("when the extension is removed, shows there are no extension status bar items", () => {
applicationBuilder.extensions.renderer.disable(testExtension);
const actual = rendered.queryAllByTestId("some-testId");
expect(actual).toHaveLength(0);
});
});
});
});
const getTestStatusBarTexts = (actual: HTMLElement, expectedTexts: string[]) =>
Array.from(actual.children)
.map((elem) => elem.textContent)
.filter((elem) => elem && expectedTexts.includes(elem));
@@ -52,9 +52,21 @@ exports[`welcome - navigation using application menu renders 1`] = `
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div
@@ -115,9 +127,21 @@ exports[`welcome - navigation using application menu when navigating to welcome
>
<div
class="leftSide"
/>
data-testid="status-bar-left"
>
<div
class="item"
>
<div
data-testid="app-update-not-available"
>
No new updates available
</div>
</div>
</div>
<div
class="rightSide"
data-testid="status-bar-right"
/>
</div>
<div