Turn on strict mode in tsconfig.json, some helpful lints, and required cleanup where strictness necessitates it (#5195)

* Turn on strict mode in tsconfig.json

- Add route, clusterRoute, and payloadValidatedClusterRoute helper
  functions to improve types with backend routes

- Turn on the following new lints:
  - react/jsx-first-prop-new-line
  - react/jsx-wrap-multilines
  - react/jsx-one-expression-per-line
  - react/jsx-max-props-per-line
  - react/jsx-indent
  - react/jsx-indent-props

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix build

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Replace KubeObject scope strings with enum

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Revert package.json version changes

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* revert move hostedCluster(Id)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* change some type param names to be not single letters

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove copy-extension-themes

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* add new make clean action

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix build to not use webpack for generating types

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix kube-object-menu.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix select.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix catalog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* revert move fileNameMigration to index

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix ref logic error

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix log-resource-selector.test.tsx tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix dock-store.test.ts test by overriding createStorage to not touch file system

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix cluster.test.ts tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix kube=api.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fixed hotbar-store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix kubeconfig-manager.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix cluster-role-bindings/__tests__/dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix role-bindings/__tests__/dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix pods.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix delete-cluster-dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix daemonset.store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix replicaset.store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix statefulsets/dialog/dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix replicasets/scale-dialog/dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix deployments.store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix deployments/scale/dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix cronjob.store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix stateful-set.api.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix deployment.api.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix api-manager.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix statefulset.store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix job.store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix pods.store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix scroll-spy.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix hotbar-remove-command.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix catalog-entity-registry.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix welcome.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix verify-that-all-routes-have-route-component.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix pod-tolerations.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* better fix for previous 3 fixes, plus also select.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix kube-object-menu.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix app-paths.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix dock-tabs.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix isReactNode typing

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix sub-title.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix drawer.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix list-layout.tsx and header.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix error-boundary.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix upgrade-chart/store.ts and dock-tab.store.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix install-chart/store.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix edit-resource/store.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix create-resource/store.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix namespace-select.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix namespace-select-filter.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix crd-list.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix wrong types for extensions

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix circular dependency

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix circular dependency on catalogCategoryRegistry

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix api-kube

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix type errors, most <Select /> errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fixing more type errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* some more fixing type errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* convert all KubeApis to injectable with legacy global backups

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* factor out into a common file all the exports

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* convert all KubeObjectStores to injectable with legacy global backups

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix lint

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove unused legacy KubeApi globals

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix bad previous commit

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* more crash fixing

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* try and fix behavioural tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix sidebar-and-tab-navigation-for-core.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix sidebar-and-tab-navigation-for-extensions.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-using-application-menu.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix catalog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Make ThemeStore non-singleton and fix navigation-to-terminal-preferences.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* extensions.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix catalog-entity-registry.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-using-application-menu.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix log-resource-selector.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix dock-tabs.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix delete-cluster-dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-to-kubernetes-preferences.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-to-editor-preferences.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-to-proxy-preferences.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-using-application-menu.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-to-application-preferences.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix dock-store.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix select.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix role-bindings/__tests__/dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix hotbar-remove-command.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix cluster-role-bindings/__tests__/dialog.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-to-extension-specific-preferences.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-to-telemetry-preferences.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix closing-preferences.test.tsx

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-to-editor-preferences.test.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix navigation-to-proxy-preferences.test.ts

- Fix other type errors too

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* final tweaks

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add more tsconfig files, fix bug in <Catalog>

- Make all of history, navigation injectable

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix type errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Convert all of kube-details-params/ and navigate/ to injectable

- This fixes a runtime error that was encountered during testing

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix runtime errors on renderer

- remove all static uses of `createPageParam` (and then removed the
  legacy global)
- Made LensRendererExtension and LensMainExtension just used
  dependencies and not the getLegacyDi
- Fixed circular dep in extension-loader

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Move registerStore calls to after injectMany

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* replace all the rest of the legacy uses of apiManager

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix stack overflow and cycles in DI

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix NamespaceSelectFilter not opening

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix WizardStep and AddNamespaceDialog

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix KubeApi's not being registered

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* cleanup WindowManager

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Proper fix for Wizard, fix NamespaceStore.subscribe

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Rewrite withTooltip to be more type correct

- Fixes mobx related "too many recursive actions" error

- Change all the uses of withTooltips to be functional components

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add e2e test to cover kube api registration

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* cleanup internal-commands

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove cast in <Animate>

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix command-palette e2e test

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix type error after rebase

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix test name

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix lint

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix code to help CodeQL scanner

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* update intree extension lock files

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix build-extensions picking wrong @types/react

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix tests from rebase

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix type error

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Make KubeconfigSyncManager more injectable

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix crash in test mode for Dialog

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* make Select snapshots deterministic

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix new type error

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix kube-object.store.test.ts typing

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix merge build issues

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix snapshots after merge

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix lint after merge

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* reexport BaseKubeJsonApiObjectMetadata

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix typo in terminalSpawningPool

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove duplicate license header

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix typo to waitUntilDefined

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove iter use from getLegacyGlobalDiForExtensionApi

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove complex createStorage override

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* override logger with mocks only when needed for tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove specialized overrideStore flags for getDiForUnitTesting

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove unnecessary | undefined types from the exactOptionalFieldTypes experiment

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* use more descriptive name for local test mocks

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove unnecessary addition to 'make clean' target

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove oddity of KubeObjectStore.getById(undefined) being allowed

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* rename KubeObject.getDescriptor in favour of name without fundemental JS meaning

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Simplify legacyRegisterApi when working in behaviour unit tests

- Don't emit within main environment as there should be no auto
  registering there

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* change confusing variable name in ReactiveDuration

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* make visitor pattern more explicit for Entity contextMenuOpen

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* toggleDetails -> toggleKubeDetailsPane is more specific

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove outdated comment

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix bug where LensExtension dependencies are not set

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix tests from the revert of react 18

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix more tests from merge

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix typings with new is-compatible-extension tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* more type fixing

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Revert in-tree extension versions

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Improve name of guarding injectable for stores and apis

- New name better implies that it is just a guard state and does not do
  anything

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add helper for <Select>.isMulti for storing in a Set<Value>

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix is-compatible-extension.test.ts types

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2022-05-16 07:17:57 -04:00
1 parent 381d77c633
commit dfcb7c3330
1062 files changed
+26512 -28689

No files matched your search

@@ -19,7 +19,7 @@ exports[`add-cluster - navigation using application menu when navigating to add
Add Clusters from Kubeconfig
</h2>
<p>
Clusters added here are
Clusters added here are
<b>
not
</b>
@@ -27,16 +27,14 @@ exports[`add-cluster - navigation using application menu when navigating to add
<code>
~/.kube/config
</code>
file.
file.
<a
href="https://docs.k8slens.dev/main//catalog/add-clusters/"
rel="noreferrer"
target="_blank"
>
Read more about adding clusters
Read more about adding clusters.
</a>
.
</p>
<div
class="flex column"
@@ -7,10 +7,18 @@ 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";
import isAutoUpdateEnabledInjectable from "../../main/is-auto-update-enabled.injectable";
import React from "react";
// TODO: Make components free of side effects by making them deterministic
jest.mock("../../renderer/components/tooltip");
jest.mock("../../renderer/components/monaco-editor/monaco-editor");
jest.mock("../../renderer/components/tooltip/tooltip", () => ({
Tooltip: () => null,
}));
jest.mock("../../renderer/components/tooltip/withTooltip", () => ({
withTooltip: (Target: any) => ({ tooltip, tooltipOverrideDisabled, ...props }: any) => <Target {...props} />,
}));
jest.mock("../../renderer/components/monaco-editor/monaco-editor", () => ({
MonacoEditor: () => null,
}));
describe("add-cluster - navigation using application menu", () => {
let applicationBuilder: ApplicationBuilder;
@@ -261,14 +261,14 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-parent-id"
data-id-test="some-extension-name-some-parent-id"
data-is-active-test="false"
data-test-id="some-extension-id-some-parent-id"
data-test-id="some-extension-name-some-parent-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center expandable"
data-testid="sidebar-item-link-for-some-extension-id-some-parent-id"
data-testid="sidebar-item-link-for-some-extension-name-some-parent-id"
href="/"
>
<div>
@@ -557,14 +557,14 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-parent-id"
data-id-test="some-extension-name-some-parent-id"
data-is-active-test="false"
data-test-id="some-extension-id-some-parent-id"
data-test-id="some-extension-name-some-parent-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center expandable"
data-testid="sidebar-item-link-for-some-extension-id-some-parent-id"
data-testid="sidebar-item-link-for-some-extension-name-some-parent-id"
href="/"
>
<div>
@@ -853,14 +853,14 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-parent-id"
data-id-test="some-extension-name-some-parent-id"
data-is-active-test="false"
data-test-id="some-extension-id-some-parent-id"
data-test-id="some-extension-name-some-parent-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center expandable"
data-testid="sidebar-item-link-for-some-extension-id-some-parent-id"
data-testid="sidebar-item-link-for-some-extension-name-some-parent-id"
href="/"
>
<div>
@@ -887,15 +887,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-child-id"
data-id-test="some-extension-name-some-child-id"
data-is-active-test="false"
data-parent-id-test="some-extension-id-some-parent-id"
data-test-id="some-extension-id-some-child-id"
data-parent-id-test="some-extension-name-some-parent-id"
data-test-id="some-extension-name-some-child-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center"
data-testid="sidebar-item-link-for-some-extension-id-some-child-id"
data-testid="sidebar-item-link-for-some-extension-name-some-child-id"
href="/"
>
<span
@@ -907,15 +907,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-other-child-id"
data-id-test="some-extension-name-some-other-child-id"
data-is-active-test="false"
data-parent-id-test="some-extension-id-some-parent-id"
data-test-id="some-extension-id-some-other-child-id"
data-parent-id-test="some-extension-name-some-parent-id"
data-test-id="some-extension-name-some-other-child-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center"
data-testid="sidebar-item-link-for-some-extension-id-some-other-child-id"
data-testid="sidebar-item-link-for-some-extension-name-some-other-child-id"
href="/"
>
<span
@@ -1193,15 +1193,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-parent-id"
data-id-test="some-extension-name-some-parent-id"
data-is-active-test="true"
data-test-id="some-extension-id-some-parent-id"
data-test-id="some-extension-name-some-parent-id"
data-testid="sidebar-item"
>
<a
aria-current="page"
class="nav-item flex gaps align-center expandable active"
data-testid="sidebar-item-link-for-some-extension-id-some-parent-id"
data-testid="sidebar-item-link-for-some-extension-name-some-parent-id"
href="/"
>
<div>
@@ -1228,16 +1228,16 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-child-id"
data-id-test="some-extension-name-some-child-id"
data-is-active-test="true"
data-parent-id-test="some-extension-id-some-parent-id"
data-test-id="some-extension-id-some-child-id"
data-parent-id-test="some-extension-name-some-parent-id"
data-test-id="some-extension-name-some-child-id"
data-testid="sidebar-item"
>
<a
aria-current="page"
class="nav-item flex gaps align-center active"
data-testid="sidebar-item-link-for-some-extension-id-some-child-id"
data-testid="sidebar-item-link-for-some-extension-name-some-child-id"
href="/"
>
<span
@@ -1249,15 +1249,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-other-child-id"
data-id-test="some-extension-name-some-other-child-id"
data-is-active-test="false"
data-parent-id-test="some-extension-id-some-parent-id"
data-test-id="some-extension-id-some-other-child-id"
data-parent-id-test="some-extension-name-some-parent-id"
data-test-id="some-extension-name-some-other-child-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center"
data-testid="sidebar-item-link-for-some-extension-id-some-other-child-id"
data-testid="sidebar-item-link-for-some-extension-name-some-other-child-id"
href="/"
>
<span
@@ -1281,7 +1281,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
<div
class="Tab flex gaps align-center active"
data-is-active-test="true"
data-testid="tab-link-for-some-extension-id-some-child-id"
data-testid="tab-link-for-some-extension-name-some-child-id"
role="tab"
tabindex="0"
>
@@ -1294,7 +1294,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
<div
class="Tab flex gaps align-center"
data-is-active-test="false"
data-testid="tab-link-for-some-extension-id-some-other-child-id"
data-testid="tab-link-for-some-extension-name-some-other-child-id"
role="tab"
tabindex="0"
>
@@ -1577,15 +1577,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-parent-id"
data-id-test="some-extension-name-some-parent-id"
data-is-active-test="true"
data-test-id="some-extension-id-some-parent-id"
data-test-id="some-extension-name-some-parent-id"
data-testid="sidebar-item"
>
<a
aria-current="page"
class="nav-item flex gaps align-center expandable active"
data-testid="sidebar-item-link-for-some-extension-id-some-parent-id"
data-testid="sidebar-item-link-for-some-extension-name-some-parent-id"
href="/"
>
<div>
@@ -1612,15 +1612,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-child-id"
data-id-test="some-extension-name-some-child-id"
data-is-active-test="false"
data-parent-id-test="some-extension-id-some-parent-id"
data-test-id="some-extension-id-some-child-id"
data-parent-id-test="some-extension-name-some-parent-id"
data-test-id="some-extension-name-some-child-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center"
data-testid="sidebar-item-link-for-some-extension-id-some-child-id"
data-testid="sidebar-item-link-for-some-extension-name-some-child-id"
href="/"
>
<span
@@ -1632,16 +1632,16 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-other-child-id"
data-id-test="some-extension-name-some-other-child-id"
data-is-active-test="true"
data-parent-id-test="some-extension-id-some-parent-id"
data-test-id="some-extension-id-some-other-child-id"
data-parent-id-test="some-extension-name-some-parent-id"
data-test-id="some-extension-name-some-other-child-id"
data-testid="sidebar-item"
>
<a
aria-current="page"
class="nav-item flex gaps align-center active"
data-testid="sidebar-item-link-for-some-extension-id-some-other-child-id"
data-testid="sidebar-item-link-for-some-extension-name-some-other-child-id"
href="/"
>
<span
@@ -1665,7 +1665,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
<div
class="Tab flex gaps align-center"
data-is-active-test="false"
data-testid="tab-link-for-some-extension-id-some-child-id"
data-testid="tab-link-for-some-extension-name-some-child-id"
role="tab"
tabindex="0"
>
@@ -1678,7 +1678,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
<div
class="Tab flex gaps align-center active"
data-is-active-test="true"
data-testid="tab-link-for-some-extension-id-some-other-child-id"
data-testid="tab-link-for-some-extension-name-some-other-child-id"
role="tab"
tabindex="0"
>
@@ -1961,15 +1961,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-parent-id"
data-id-test="some-extension-name-some-parent-id"
data-is-active-test="true"
data-test-id="some-extension-id-some-parent-id"
data-test-id="some-extension-name-some-parent-id"
data-testid="sidebar-item"
>
<a
aria-current="page"
class="nav-item flex gaps align-center expandable active"
data-testid="sidebar-item-link-for-some-extension-id-some-parent-id"
data-testid="sidebar-item-link-for-some-extension-name-some-parent-id"
href="/"
>
<div>
@@ -2004,7 +2004,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
<div
class="Tab flex gaps align-center active"
data-is-active-test="true"
data-testid="tab-link-for-some-extension-id-some-child-id"
data-testid="tab-link-for-some-extension-name-some-child-id"
role="tab"
tabindex="0"
>
@@ -2017,7 +2017,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
<div
class="Tab flex gaps align-center"
data-is-active-test="false"
data-testid="tab-link-for-some-extension-id-some-other-child-id"
data-testid="tab-link-for-some-extension-name-some-other-child-id"
role="tab"
tabindex="0"
>
@@ -2300,14 +2300,14 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-parent-id"
data-id-test="some-extension-name-some-parent-id"
data-is-active-test="false"
data-test-id="some-extension-id-some-parent-id"
data-test-id="some-extension-name-some-parent-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center expandable"
data-testid="sidebar-item-link-for-some-extension-id-some-parent-id"
data-testid="sidebar-item-link-for-some-extension-name-some-parent-id"
href="/"
>
<div>
@@ -2334,15 +2334,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-child-id"
data-id-test="some-extension-name-some-child-id"
data-is-active-test="false"
data-parent-id-test="some-extension-id-some-parent-id"
data-test-id="some-extension-id-some-child-id"
data-parent-id-test="some-extension-name-some-parent-id"
data-test-id="some-extension-name-some-child-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center"
data-testid="sidebar-item-link-for-some-extension-id-some-child-id"
data-testid="sidebar-item-link-for-some-extension-name-some-child-id"
href="/"
>
<span
@@ -2354,15 +2354,15 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-other-child-id"
data-id-test="some-extension-name-some-other-child-id"
data-is-active-test="false"
data-parent-id-test="some-extension-id-some-parent-id"
data-test-id="some-extension-id-some-other-child-id"
data-parent-id-test="some-extension-name-some-parent-id"
data-test-id="some-extension-name-some-other-child-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center"
data-testid="sidebar-item-link-for-some-extension-id-some-other-child-id"
data-testid="sidebar-item-link-for-some-extension-name-some-other-child-id"
href="/"
>
<span
@@ -2640,14 +2640,14 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div>
<div
class="SidebarItem"
data-id-test="some-extension-id-some-parent-id"
data-id-test="some-extension-name-some-parent-id"
data-is-active-test="false"
data-test-id="some-extension-id-some-parent-id"
data-test-id="some-extension-name-some-parent-id"
data-testid="sidebar-item"
>
<a
class="nav-item flex gaps align-center expandable"
data-testid="sidebar-item-link-for-some-extension-id-some-parent-id"
data-testid="sidebar-item-link-for-some-extension-name-some-parent-id"
href="/"
>
<div>
@@ -21,6 +21,8 @@ import writeJsonFileInjectable from "../../common/fs/write-json-file.injectable"
import pathExistsInjectable from "../../common/fs/path-exists.injectable";
import readJsonFileInjectable from "../../common/fs/read-json-file.injectable";
import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token";
import { getSidebarItem } from "../utils";
import sidebarStorageInjectable from "../../renderer/components/layout/sidebar-storage/sidebar-storage.injectable";
describe("cluster - sidebar and tab navigation for core", () => {
let applicationBuilder: ApplicationBuilder;
@@ -34,7 +36,6 @@ describe("cluster - sidebar and tab navigation for core", () => {
rendererDi = applicationBuilder.dis.rendererDi;
applicationBuilder.setEnvironmentToClusterFrame();
applicationBuilder.beforeSetups(({ rendererDi }) => {
rendererDi.override(
directoryForLensLocalStorageInjectable,
@@ -72,13 +73,13 @@ describe("cluster - sidebar and tab navigation for core", () => {
it("parent is highlighted", () => {
const parent = getSidebarItem(rendered, "some-parent-id");
expect(parent.dataset.isActiveTest).toBe("true");
expect(parent?.dataset.isActiveTest).toBe("true");
});
it("parent sidebar item is not expanded", () => {
const child = getSidebarItem(rendered, "some-child-id");
expect(child).toBe(null);
expect(child).toBeUndefined();
});
it("child page is shown", () => {
@@ -101,6 +102,11 @@ describe("cluster - sidebar and tab navigation for core", () => {
},
);
});
applicationBuilder.beforeRender(async ({ rendererDi }) => {
const sidebarStorage = rendererDi.inject(sidebarStorageInjectable);
await sidebarStorage.whenReady;
});
rendered = await applicationBuilder.render();
});
@@ -112,13 +118,13 @@ describe("cluster - sidebar and tab navigation for core", () => {
it("parent sidebar item is not highlighted", () => {
const parent = getSidebarItem(rendered, "some-parent-id");
expect(parent.dataset.isActiveTest).toBe("false");
expect(parent?.dataset.isActiveTest).toBe("false");
});
it("parent sidebar item is expanded", () => {
const child = getSidebarItem(rendered, "some-child-id");
expect(child).not.toBe(null);
expect(child).not.toBeUndefined();
});
});
@@ -148,7 +154,7 @@ describe("cluster - sidebar and tab navigation for core", () => {
it("parent sidebar item is not expanded", () => {
const child = getSidebarItem(rendered, "some-child-id");
expect(child).toBe(null);
expect(child).toBeUndefined();
});
});
@@ -175,7 +181,7 @@ describe("cluster - sidebar and tab navigation for core", () => {
it("parent sidebar item is not expanded", () => {
const child = getSidebarItem(rendered, "some-child-id");
expect(child).toBe(null);
expect(child).toBeUndefined();
});
});
@@ -191,13 +197,13 @@ describe("cluster - sidebar and tab navigation for core", () => {
it("parent sidebar item is not highlighted", () => {
const parent = getSidebarItem(rendered, "some-parent-id");
expect(parent.dataset.isActiveTest).toBe("false");
expect(parent?.dataset.isActiveTest).toBe("false");
});
it("parent sidebar item is not expanded", () => {
const child = getSidebarItem(rendered, "some-child-id");
expect(child).toBe(null);
expect(child).toBeUndefined();
});
describe("when a parent sidebar item is expanded", () => {
@@ -216,13 +222,13 @@ describe("cluster - sidebar and tab navigation for core", () => {
it("parent sidebar item is not highlighted", () => {
const parent = getSidebarItem(rendered, "some-parent-id");
expect(parent.dataset.isActiveTest).toBe("false");
expect(parent?.dataset.isActiveTest).toBe("false");
});
it("parent sidebar item is expanded", () => {
const child = getSidebarItem(rendered, "some-child-id");
expect(child).not.toBe(null);
expect(child).not.toBeUndefined();
});
describe("when a child of the parent is selected", () => {
@@ -241,13 +247,13 @@ describe("cluster - sidebar and tab navigation for core", () => {
it("parent is highlighted", () => {
const parent = getSidebarItem(rendered, "some-parent-id");
expect(parent.dataset.isActiveTest).toBe("true");
expect(parent?.dataset.isActiveTest).toBe("true");
});
it("child is highlighted", () => {
const child = getSidebarItem(rendered, "some-child-id");
expect(child.dataset.isActiveTest).toBe("true");
expect(child?.dataset.isActiveTest).toBe("true");
});
it("child page is shown", () => {
@@ -288,11 +294,6 @@ describe("cluster - sidebar and tab navigation for core", () => {
});
});
const getSidebarItem = (rendered: RenderResult, itemId: string) =>
rendered
.queryAllByTestId("sidebar-item")
.find((x) => x.dataset.idTest === itemId) || null;
const testSidebarItemsInjectable = getInjectable({
id: "some-sidebar-items-injectable",
@@ -325,7 +326,7 @@ const testSidebarItemsInjectable = getInjectable({
injectionToken: sidebarItemsInjectionToken,
});
const testRouteInjectable = getInjectable({
const testRouteInjectable = getInjectable({
id: "some-route-injectable-id",
instantiate: () => ({
@@ -5,8 +5,6 @@
import React from "react";
import type { RenderResult } from "@testing-library/react";
import { fireEvent } from "@testing-library/react";
import { getRendererExtensionFake } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import type { LensRendererExtension } from "../../extensions/lens-renderer-extension";
import directoryForLensLocalStorageInjectable from "../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
import routesInjectable from "../../renderer/routes/routes.injectable";
import { matches } from "lodash/fp";
@@ -17,6 +15,10 @@ import pathExistsInjectable from "../../common/fs/path-exists.injectable";
import readJsonFileInjectable from "../../common/fs/read-json-file.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token";
import assert from "assert";
import { getSidebarItem } from "../utils";
import type { FakeExtensionData } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import { getRendererExtensionFakeFor } from "../../renderer/components/test-utils/get-renderer-extension-fake";
describe("cluster - sidebar and tab navigation for extensions", () => {
let applicationBuilder: ApplicationBuilder;
@@ -41,9 +43,8 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
describe("given extension with cluster pages and cluster page menus", () => {
beforeEach(async () => {
const testExtension = getRendererExtensionFake(
extensionStubWithSidebarItems,
);
const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder);
const testExtension = getRendererExtensionFake(extensionStubWithSidebarItems);
await applicationBuilder.addExtensions(testExtension);
});
@@ -51,19 +52,17 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
describe("given no state for expanded sidebar items exists, and navigated to child sidebar item, when rendered", () => {
beforeEach(async () => {
applicationBuilder.beforeRender(({ rendererDi }) => {
const navigateToRoute = rendererDi.inject(
navigateToRouteInjectionToken,
);
const navigateToRoute = rendererDi.inject(navigateToRouteInjectionToken);
const route = rendererDi
.inject(routesInjectable)
.get()
.find(
matches({
path: "/extension/some-extension-id/some-child-page-id",
path: "/extension/some-extension-name/some-child-page-id",
}),
);
assert(route);
navigateToRoute(route);
});
@@ -77,19 +76,19 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("parent is highlighted", () => {
const parent = getSidebarItem(
rendered,
"some-extension-id-some-parent-id",
"some-extension-name-some-parent-id",
);
expect(parent.dataset.isActiveTest).toBe("true");
expect(parent?.dataset.isActiveTest).toBe("true");
});
it("parent sidebar item is not expanded", () => {
const child = getSidebarItem(
rendered,
"some-extension-id-some-child-id",
"some-extension-name-some-child-id",
);
expect(child).toBe(null);
expect(child).toBeUndefined();
});
it("child page is shown", () => {
@@ -106,7 +105,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
"/some-directory-for-lens-local-storage/app.json",
{
sidebar: {
expanded: { "some-extension-id-some-parent-id": true },
expanded: { "some-extension-name-some-parent-id": true },
width: 200,
},
},
@@ -123,19 +122,19 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("parent sidebar item is not highlighted", () => {
const parent = getSidebarItem(
rendered,
"some-extension-id-some-parent-id",
"some-extension-name-some-parent-id",
);
expect(parent.dataset.isActiveTest).toBe("false");
expect(parent?.dataset.isActiveTest).toBe("false");
});
it("parent sidebar item is expanded", () => {
const child = getSidebarItem(
rendered,
"some-extension-id-some-child-id",
"some-extension-name-some-child-id",
);
expect(child).not.toBe(null);
expect(child).not.toBeUndefined();
});
});
@@ -148,7 +147,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
"/some-directory-for-lens-local-storage/app.json",
{
sidebar: {
expanded: { "some-extension-id-some-unknown-parent-id": true },
expanded: { "some-extension-name-some-unknown-parent-id": true },
width: 200,
},
},
@@ -165,10 +164,10 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("parent sidebar item is not expanded", () => {
const child = getSidebarItem(
rendered,
"some-extension-id-some-child-id",
"some-extension-name-some-child-id",
);
expect(child).toBe(null);
expect(child).toBeUndefined();
});
});
@@ -195,10 +194,10 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("parent sidebar item is not expanded", () => {
const child = getSidebarItem(
rendered,
"some-extension-id-some-child-id",
"some-extension-name-some-child-id",
);
expect(child).toBe(null);
expect(child).toBeUndefined();
});
});
@@ -214,25 +213,25 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("parent sidebar item is not highlighted", () => {
const parent = getSidebarItem(
rendered,
"some-extension-id-some-parent-id",
"some-extension-name-some-parent-id",
);
expect(parent.dataset.isActiveTest).toBe("false");
expect(parent?.dataset.isActiveTest).toBe("false");
});
it("parent sidebar item is not expanded", () => {
const child = getSidebarItem(
rendered,
"some-extension-id-some-child-id",
"some-extension-name-some-child-id",
);
expect(child).toBe(null);
expect(child).toBeUndefined();
});
describe("when a parent sidebar item is expanded", () => {
beforeEach(() => {
const parentLink = rendered.getByTestId(
"sidebar-item-link-for-some-extension-id-some-parent-id",
"sidebar-item-link-for-some-extension-name-some-parent-id",
);
fireEvent.click(parentLink);
@@ -245,25 +244,25 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("parent sidebar item is not highlighted", () => {
const parent = getSidebarItem(
rendered,
"some-extension-id-some-parent-id",
"some-extension-name-some-parent-id",
);
expect(parent.dataset.isActiveTest).toBe("false");
expect(parent?.dataset.isActiveTest).toBe("false");
});
it("parent sidebar item is expanded", () => {
const child = getSidebarItem(
rendered,
"some-extension-id-some-child-id",
"some-extension-name-some-child-id",
);
expect(child).not.toBe(null);
expect(child).not.toBeUndefined();
});
describe("when a child of the parent is selected", () => {
beforeEach(() => {
const childLink = rendered.getByTestId(
"sidebar-item-link-for-some-extension-id-some-child-id",
"sidebar-item-link-for-some-extension-name-some-child-id",
);
fireEvent.click(childLink);
@@ -276,19 +275,19 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("parent is highlighted", () => {
const parent = getSidebarItem(
rendered,
"some-extension-id-some-parent-id",
"some-extension-name-some-parent-id",
);
expect(parent.dataset.isActiveTest).toBe("true");
expect(parent?.dataset.isActiveTest).toBe("true");
});
it("child is highlighted", () => {
const child = getSidebarItem(
rendered,
"some-extension-id-some-child-id",
"some-extension-name-some-child-id",
);
expect(child.dataset.isActiveTest).toBe("true");
expect(child?.dataset.isActiveTest).toBe("true");
});
it("child page is shown", () => {
@@ -301,7 +300,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("tab for child page is active", () => {
const tabLink = rendered.getByTestId(
"tab-link-for-some-extension-id-some-child-id",
"tab-link-for-some-extension-name-some-child-id",
);
expect(tabLink.dataset.isActiveTest).toBe("true");
@@ -309,7 +308,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("tab for sibling page is not active", () => {
const tabLink = rendered.getByTestId(
"tab-link-for-some-extension-id-some-other-child-id",
"tab-link-for-some-extension-name-some-other-child-id",
);
expect(tabLink.dataset.isActiveTest).toBe("false");
@@ -338,7 +337,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
expect(actual).toEqual({
sidebar: {
expanded: { "some-extension-id-some-parent-id": true },
expanded: { "some-extension-name-some-parent-id": true },
width: 200,
},
});
@@ -347,7 +346,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
describe("when selecting sibling tab", () => {
beforeEach(() => {
const childTabLink = rendered.getByTestId(
"tab-link-for-some-extension-id-some-other-child-id",
"tab-link-for-some-extension-name-some-other-child-id",
);
fireEvent.click(childTabLink);
@@ -365,7 +364,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("tab for sibling page is active", () => {
const tabLink = rendered.getByTestId(
"tab-link-for-some-extension-id-some-other-child-id",
"tab-link-for-some-extension-name-some-other-child-id",
);
expect(tabLink.dataset.isActiveTest).toBe("true");
@@ -373,7 +372,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
it("tab for previous page is not active", () => {
const tabLink = rendered.getByTestId(
"tab-link-for-some-extension-id-some-child-id",
"tab-link-for-some-extension-name-some-child-id",
);
expect(tabLink.dataset.isActiveTest).toBe("false");
@@ -385,9 +384,9 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
});
});
const extensionStubWithSidebarItems: Partial<LensRendererExtension> = {
const extensionStubWithSidebarItems: FakeExtensionData = {
id: "some-extension-id",
name: "some-extension-name",
clusterPages: [
{
components: {
@@ -396,7 +395,6 @@ const extensionStubWithSidebarItems: Partial<LensRendererExtension> = {
},
},
},
{
id: "some-child-page-id",
@@ -404,7 +402,6 @@ const extensionStubWithSidebarItems: Partial<LensRendererExtension> = {
Page: () => <div data-testid="some-child-page">Some child page</div>,
},
},
{
id: "some-other-child-page-id",
@@ -415,7 +412,6 @@ const extensionStubWithSidebarItems: Partial<LensRendererExtension> = {
},
},
],
clusterPageMenus: [
{
id: "some-parent-id",
@@ -433,7 +429,7 @@ const extensionStubWithSidebarItems: Partial<LensRendererExtension> = {
title: "Child 1",
components: {
Icon: null,
Icon: null as never,
},
},
@@ -444,13 +440,8 @@ const extensionStubWithSidebarItems: Partial<LensRendererExtension> = {
title: "Child 2",
components: {
Icon: null,
Icon: null as never,
},
},
],
};
const getSidebarItem = (rendered: RenderResult, itemId: string) =>
rendered
.queryAllByTestId("sidebar-item")
.find((x) => x.dataset.idTest === itemId) || null;
@@ -14,6 +14,7 @@ import { routeInjectionToken } from "../../common/front-end-routing/route-inject
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token";
import { getSidebarItem } from "../utils";
describe("cluster - visibility of sidebar items", () => {
let applicationBuilder: ApplicationBuilder;
@@ -43,7 +44,7 @@ describe("cluster - visibility of sidebar items", () => {
it("related sidebar item does not exist", () => {
const item = getSidebarItem(rendered, "some-item-id");
expect(item).toBeNull();
expect(item).toBeUndefined();
});
describe("when kube resource becomes allowed", () => {
@@ -58,17 +59,12 @@ describe("cluster - visibility of sidebar items", () => {
it("related sidebar item exists", () => {
const item = getSidebarItem(rendered, "some-item-id");
expect(item).not.toBeNull();
expect(item).not.toBeUndefined();
});
});
});
});
const getSidebarItem = (rendered: RenderResult, itemId: string) =>
rendered
.queryAllByTestId("sidebar-item")
.find((x) => x.dataset.idTest === itemId) || null;
const testRouteInjectable = getInjectable({
id: "some-route-injectable-id",
@@ -2,12 +2,11 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import type { TestExtension } from "../renderer/components/test-utils/get-renderer-extension-fake";
import { getRendererExtensionFake } from "../renderer/components/test-utils/get-renderer-extension-fake";
import type { FakeExtensionData, TestExtension } from "../renderer/components/test-utils/get-renderer-extension-fake";
import { getRendererExtensionFakeFor } from "../renderer/components/test-utils/get-renderer-extension-fake";
import React from "react";
import type { RenderResult } from "@testing-library/react";
import currentPathInjectable from "../renderer/routes/current-path.injectable";
import type { LensRendererExtension } from "../extensions/lens-renderer-extension";
import type { ApplicationBuilder } from "../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../renderer/components/test-utils/get-application-builder";
@@ -18,6 +17,7 @@ describe("extension special characters in page registrations", () => {
beforeEach(async () => {
applicationBuilder = getApplicationBuilder();
const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder);
testExtension = getRendererExtensionFake(
extensionWithPagesHavingSpecialCharacters,
@@ -44,14 +44,14 @@ describe("extension special characters in page registrations", () => {
it("knows URL", () => {
const currentPath = applicationBuilder.dis.rendererDi.inject(currentPathInjectable);
expect(currentPath.get()).toBe("/extension/some-extension-id--/some-page-id");
expect(currentPath.get()).toBe("/extension/some-extension-name--/some-page-id");
});
});
});
const extensionWithPagesHavingSpecialCharacters: Partial<LensRendererExtension> = {
id: "@some-extension-id/",
const extensionWithPagesHavingSpecialCharacters: FakeExtensionData = {
id: "some-extension-id",
name: "@some-extension-name/",
globalPages: [
{
id: "/some-page-id/",
@@ -23,9 +23,7 @@ exports[`extensions - navigation using application menu when navigating to exten
class="notice mb-14 mt-3"
>
<p>
Add new features via Lens Extensions.
Check out
Add new features via Lens Extensions. Check out the
<a
href="https://docs.k8slens.dev/main//extensions/"
rel="noreferrer"
@@ -33,8 +31,7 @@ exports[`extensions - navigation using application menu when navigating to exten
>
docs
</a>
and list of
and list of
<a
href="https://github.com/lensapp/lens-extensions/blob/main/README.md"
rel="noreferrer"
@@ -9,8 +9,8 @@ import { getApplicationBuilder } from "../../renderer/components/test-utils/get-
import isAutoUpdateEnabledInjectable from "../../main/is-auto-update-enabled.injectable";
import extensionsStoreInjectable from "../../extensions/extensions-store/extensions-store.injectable";
import type { ExtensionsStore } from "../../extensions/extensions-store/extensions-store";
import fileSystemProvisionerStoreInjectable from "../../extensions/extension-loader/create-extension-instance/file-system-provisioner-store/file-system-provisioner-store.injectable";
import type { FileSystemProvisionerStore } from "../../extensions/extension-loader/create-extension-instance/file-system-provisioner-store/file-system-provisioner-store";
import fileSystemProvisionerStoreInjectable from "../../extensions/extension-loader/file-system-provisioner-store/file-system-provisioner-store.injectable";
import type { FileSystemProvisionerStore } from "../../extensions/extension-loader/file-system-provisioner-store/file-system-provisioner-store";
import focusWindowInjectable from "../../renderer/ipc-channel-listeners/focus-window.injectable";
// TODO: Make components free of side effects by making them deterministic
@@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import type { TestExtension } from "../renderer/components/test-utils/get-renderer-extension-fake";
import { getRendererExtensionFake } from "../renderer/components/test-utils/get-renderer-extension-fake";
import type { FakeExtensionData, TestExtension } from "../renderer/components/test-utils/get-renderer-extension-fake";
import { getRendererExtensionFakeFor } from "../renderer/components/test-utils/get-renderer-extension-fake";
import React from "react";
import type { RenderResult } from "@testing-library/react";
import { fireEvent } from "@testing-library/react";
@@ -11,7 +11,6 @@ import isEmpty from "lodash/isEmpty";
import queryParametersInjectable from "../renderer/routes/query-parameters.injectable";
import currentPathInjectable from "../renderer/routes/current-path.injectable";
import type { IComputedValue } from "mobx";
import type { LensRendererExtension } from "../extensions/lens-renderer-extension";
import { getApplicationBuilder } from "../renderer/components/test-utils/get-application-builder";
describe("navigate to extension page", () => {
@@ -22,6 +21,7 @@ describe("navigate to extension page", () => {
beforeEach(async () => {
const applicationBuilder = getApplicationBuilder();
const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder);
testExtension = getRendererExtensionFake(
extensionWithPagesHavingParameters,
@@ -51,7 +51,7 @@ describe("navigate to extension page", () => {
});
it("URL is correct", () => {
expect(currentPath.get()).toBe("/extension/some-extension-id");
expect(currentPath.get()).toBe("/extension/some-extension-name");
});
it("query parameters is empty", () => {
@@ -70,7 +70,7 @@ describe("navigate to extension page", () => {
});
it("URL is correct", () => {
expect(currentPath.get()).toBe("/extension/some-extension-id");
expect(currentPath.get()).toBe("/extension/some-extension-name");
});
it("knows query parameters", () => {
@@ -98,7 +98,7 @@ describe("navigate to extension page", () => {
});
it("URL is correct", () => {
expect(currentPath.get()).toBe("/extension/some-extension-id");
expect(currentPath.get()).toBe("/extension/some-extension-name");
});
it("knows query parameters", () => {
@@ -120,14 +120,14 @@ describe("navigate to extension page", () => {
});
it("URL is correct", () => {
expect(currentPath.get()).toBe("/extension/some-extension-id/some-child-page-id");
expect(currentPath.get()).toBe("/extension/some-extension-name/some-child-page-id");
});
});
});
const extensionWithPagesHavingParameters: Partial<LensRendererExtension> = {
const extensionWithPagesHavingParameters: FakeExtensionData = {
id: "some-extension-id",
name: "some-extension-name",
globalPages: [
{
components: {
@@ -159,20 +159,14 @@ const extensionWithPagesHavingParameters: Partial<LensRendererExtension> = {
params: {
someStringParameter: "some-string-value",
someNumberParameter: {
defaultValue: 42,
stringify: (value) => value.toString(),
parse: (value) => (value ? Number(value) : undefined),
},
someArrayParameter: {
defaultValue: ["some-array-value", "some-other-array-value"],
stringify: (value) => value.join(","),
parse: (value: string[]) => (!isEmpty(value) ? value : undefined),
},
},
@@ -124,7 +124,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-26-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -140,7 +140,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-26-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -150,7 +150,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<input
aria-autocomplete="list"
aria-describedby="react-select-26-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -209,7 +209,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-27-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -225,7 +225,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-27-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -235,7 +235,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<input
aria-autocomplete="list"
aria-describedby="react-select-27-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -281,17 +281,12 @@ exports[`preferences - closing-preferences given accessing preferences directly
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -349,7 +344,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-28-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -365,7 +360,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-28-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -375,7 +370,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<input
aria-autocomplete="list"
aria-describedby="react-select-28-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -434,7 +429,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-29-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -450,7 +445,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-29-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -460,7 +455,7 @@ exports[`preferences - closing-preferences given accessing preferences directly
>
<input
aria-autocomplete="list"
aria-describedby="react-select-29-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -827,7 +822,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -843,7 +838,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -853,7 +848,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -912,7 +907,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -928,7 +923,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -938,7 +933,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -984,17 +979,12 @@ exports[`preferences - closing-preferences given already in a page and then navi
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -1052,7 +1042,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -1068,7 +1058,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -1078,7 +1068,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -1137,7 +1127,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -1153,7 +1143,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -1163,7 +1153,7 @@ exports[`preferences - closing-preferences given already in a page and then navi
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -314,7 +314,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -330,7 +330,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -340,7 +340,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -399,7 +399,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -415,7 +415,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -425,7 +425,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -471,17 +471,12 @@ exports[`preferences - navigation to application preferences given in some child
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -539,7 +534,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -555,7 +550,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -565,7 +560,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -624,7 +619,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -640,7 +635,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -650,7 +645,7 @@ exports[`preferences - navigation to application preferences given in some child
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -112,7 +112,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -128,7 +128,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -138,7 +138,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -197,7 +197,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -213,7 +213,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -223,7 +223,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -269,17 +269,12 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -337,7 +332,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -353,7 +348,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -363,7 +358,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -422,7 +417,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -438,7 +433,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -448,7 +443,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -668,7 +663,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-14-live-region"
id="react-select-minimap-input-live-region"
/>
<span
aria-atomic="false"
@@ -684,7 +679,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-14-placeholder"
id="react-select-minimap-input-placeholder"
>
Select...
</div>
@@ -694,7 +689,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<input
aria-autocomplete="list"
aria-describedby="react-select-14-placeholder"
aria-describedby="react-select-minimap-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -752,7 +747,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-15-live-region"
id="react-select-editor-line-numbers-input-live-region"
/>
<span
aria-atomic="false"
@@ -768,7 +763,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-15-placeholder"
id="react-select-editor-line-numbers-input-placeholder"
>
Select...
</div>
@@ -778,7 +773,7 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
>
<input
aria-autocomplete="list"
aria-describedby="react-select-15-placeholder"
aria-describedby="react-select-editor-line-numbers-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -112,7 +112,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -128,7 +128,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -138,7 +138,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -197,7 +197,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -213,7 +213,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -223,7 +223,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -269,17 +269,12 @@ exports[`preferences - navigation to extension specific preferences given in pre
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -337,7 +332,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -353,7 +348,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -363,7 +358,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -422,7 +417,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -438,7 +433,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -448,7 +443,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -657,7 +652,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-14-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -673,7 +668,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-14-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -683,7 +678,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<input
aria-autocomplete="list"
aria-describedby="react-select-14-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -742,7 +737,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-15-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -758,7 +753,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-15-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -768,7 +763,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<input
aria-autocomplete="list"
aria-describedby="react-select-15-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -814,17 +809,12 @@ exports[`preferences - navigation to extension specific preferences given in pre
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -882,7 +872,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-16-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -898,7 +888,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-16-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -908,7 +898,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<input
aria-autocomplete="list"
aria-describedby="react-select-16-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -967,7 +957,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-17-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -983,7 +973,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-17-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -993,7 +983,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
>
<input
aria-autocomplete="list"
aria-describedby="react-select-17-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -112,7 +112,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -128,7 +128,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -138,7 +138,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -197,7 +197,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -213,7 +213,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -223,7 +223,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -269,17 +269,12 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -337,7 +332,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -353,7 +348,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -363,7 +358,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -422,7 +417,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -438,7 +433,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -448,7 +443,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -664,7 +659,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-14-live-region"
id="react-select-download-mirror-input-live-region"
/>
<span
aria-atomic="false"
@@ -680,7 +675,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-14-placeholder"
id="react-select-download-mirror-input-placeholder"
>
Download mirror for kubectl
</div>
@@ -690,7 +685,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<input
aria-autocomplete="list"
aria-describedby="react-select-14-placeholder"
aria-describedby="react-select-download-mirror-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -845,7 +840,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-15-live-region"
id="react-select-HelmRepoSelect-live-region"
/>
<span
aria-atomic="false"
@@ -861,7 +856,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-15-placeholder"
id="react-select-HelmRepoSelect-placeholder"
>
Repositories
</div>
@@ -871,7 +866,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
>
<input
aria-autocomplete="list"
aria-describedby="react-select-15-placeholder"
aria-describedby="react-select-HelmRepoSelect-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -112,7 +112,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -128,7 +128,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -138,7 +138,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -197,7 +197,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -213,7 +213,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -223,7 +223,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -269,17 +269,12 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -337,7 +332,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -353,7 +348,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -363,7 +358,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -422,7 +417,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -438,7 +433,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -448,7 +443,7 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -300,7 +300,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -316,7 +316,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -326,7 +326,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -385,7 +385,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -401,7 +401,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -411,7 +411,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -457,17 +457,12 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -525,7 +520,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -541,7 +536,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -551,7 +546,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -610,7 +605,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -626,7 +621,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -636,7 +631,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -845,7 +840,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-14-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -861,7 +856,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-14-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -871,7 +866,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-14-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -930,7 +925,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-15-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -946,7 +941,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-15-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -956,7 +951,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-15-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -1002,17 +997,12 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -1070,7 +1060,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-16-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -1086,7 +1076,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-16-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -1096,7 +1086,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-16-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -1155,7 +1145,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-17-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -1171,7 +1161,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-17-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -1181,7 +1171,7 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-17-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -112,7 +112,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -128,7 +128,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -138,7 +138,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -197,7 +197,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -213,7 +213,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -223,7 +223,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -269,17 +269,12 @@ exports[`preferences - navigation to terminal preferences given in preferences,
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -337,7 +332,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -353,7 +348,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -363,7 +358,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -422,7 +417,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -438,7 +433,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -448,7 +443,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -689,7 +684,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-14-live-region"
id="react-select-terminal-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -705,7 +700,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-14-placeholder"
id="react-select-terminal-theme-input-placeholder"
>
Select...
</div>
@@ -715,7 +710,7 @@ exports[`preferences - navigation to terminal preferences given in preferences,
>
<input
aria-autocomplete="list"
aria-describedby="react-select-14-placeholder"
aria-describedby="react-select-terminal-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -114,7 +114,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-2-live-region"
id="react-select-theme-input-live-region"
/>
<span
aria-atomic="false"
@@ -130,7 +130,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-2-placeholder"
id="react-select-theme-input-placeholder"
>
Select...
</div>
@@ -140,7 +140,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<input
aria-autocomplete="list"
aria-describedby="react-select-2-placeholder"
aria-describedby="react-select-theme-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -199,7 +199,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-3-live-region"
id="react-select-extension-install-registry-input-live-region"
/>
<span
aria-atomic="false"
@@ -215,7 +215,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-3-placeholder"
id="react-select-extension-install-registry-input-placeholder"
>
Select...
</div>
@@ -225,7 +225,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<input
aria-autocomplete="list"
aria-describedby="react-select-3-placeholder"
aria-describedby="react-select-extension-install-registry-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -271,17 +271,12 @@ exports[`preferences - navigation using application menu when navigating to pref
<p
class="mt-4 mb-5 leading-relaxed"
>
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (
https://registry.npmjs.org
)
you can change it in your
This setting is to change the registry URL for installing extensions by name.
If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your
<b>
.npmrc
</b>
 file or in the input below.
file or in the input below.
</p>
<div
class="Input theme round black disabled invalid"
@@ -339,7 +334,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-4-live-region"
id="react-select-update-channel-input-live-region"
/>
<span
aria-atomic="false"
@@ -355,7 +350,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-4-placeholder"
id="react-select-update-channel-input-placeholder"
>
Select...
</div>
@@ -365,7 +360,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<input
aria-autocomplete="list"
aria-describedby="react-select-4-placeholder"
aria-describedby="react-select-update-channel-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -424,7 +419,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<span
class="css-1f43avz-a11yText-A11yText"
id="react-select-5-live-region"
id="react-select-timezone-input-live-region"
/>
<span
aria-atomic="false"
@@ -440,7 +435,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<div
class="Select__placeholder css-14el2xx-placeholder"
id="react-select-5-placeholder"
id="react-select-timezone-input-placeholder"
>
Select...
</div>
@@ -450,7 +445,7 @@ exports[`preferences - navigation using application menu when navigating to pref
>
<input
aria-autocomplete="list"
aria-describedby="react-select-5-placeholder"
aria-describedby="react-select-timezone-input-placeholder"
aria-expanded="false"
aria-haspopup="true"
autocapitalize="none"
@@ -12,8 +12,6 @@ import { routeInjectionToken } from "../../common/front-end-routing/route-inject
import { computed } from "mobx";
import type { UserStore } from "../../common/user-store";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import { preferenceNavigationItemInjectionToken } from "../../renderer/components/+preferences/preferences-navigation/preference-navigation-items.injectable";
import routeIsActiveInjectable from "../../renderer/routes/route-is-active.injectable";
import { Preferences } from "../../renderer/components/+preferences";
@@ -26,6 +24,7 @@ import { createObservableHistory } from "mobx-observable-history";
import navigateToPreferenceTabInjectable from "../../renderer/components/+preferences/preferences-navigation/navigate-to-preference-tab.injectable";
import navigateToFrontPageInjectable from "../../common/front-end-routing/navigate-to-front-page.injectable";
import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - closing-preferences", () => {
let applicationBuilder: ApplicationBuilder;
@@ -45,10 +44,10 @@ describe("preferences - closing-preferences", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
const themeStoreStub = { themeOptions: [] } as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
rendererDi.override(navigateToFrontPageInjectable, (di) => {
const navigateToRoute = di.inject(navigateToRouteInjectionToken);
@@ -7,10 +7,8 @@ import type { ApplicationBuilder } from "../../renderer/components/test-utils/ge
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { UserStore } from "../../common/user-store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import navigateToProxyPreferencesInjectable
from "../../common/front-end-routing/routes/preferences/proxy/navigate-to-proxy-preferences.injectable";
import navigateToProxyPreferencesInjectable from "../../common/front-end-routing/routes/preferences/proxy/navigate-to-proxy-preferences.injectable";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - navigation to application preferences", () => {
let applicationBuilder: ApplicationBuilder;
@@ -24,10 +22,10 @@ describe("preferences - navigation to application preferences", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
const themeStoreStub = ({ themeOptions: [] }) as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
});
});
@@ -7,8 +7,7 @@ import type { ApplicationBuilder } from "../../renderer/components/test-utils/ge
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { UserStore } from "../../common/user-store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - navigation to editor preferences", () => {
let applicationBuilder: ApplicationBuilder;
@@ -23,10 +22,10 @@ describe("preferences - navigation to editor preferences", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
const themeStoreStub = ({ themeOptions: [] }) as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
});
});
@@ -7,11 +7,10 @@ import type { ApplicationBuilder } from "../../renderer/components/test-utils/ge
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { UserStore } from "../../common/user-store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import type { LensRendererExtension } from "../../extensions/lens-renderer-extension";
import React from "react";
import { getRendererExtensionFake } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import type { FakeExtensionData } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import { getRendererExtensionFakeFor } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - navigation to extension specific preferences", () => {
let applicationBuilder: ApplicationBuilder;
@@ -25,10 +24,10 @@ describe("preferences - navigation to extension specific preferences", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
const themeStoreStub = { themeOptions: [] } as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
});
});
@@ -61,6 +60,7 @@ describe("preferences - navigation to extension specific preferences", () => {
describe("when extension with specific preferences is enabled", () => {
beforeEach(() => {
const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder);
const testExtension = getRendererExtensionFake(extensionStubWithExtensionSpecificPreferenceItems);
applicationBuilder.addExtensions(testExtension);
@@ -107,9 +107,9 @@ describe("preferences - navigation to extension specific preferences", () => {
});
});
const extensionStubWithExtensionSpecificPreferenceItems: Partial<LensRendererExtension> = {
id: "some-test-extension-id",
const extensionStubWithExtensionSpecificPreferenceItems: FakeExtensionData = {
id: "some-extension-id",
name: "some-extension-name",
appPreferences: [
{
title: "Some preference item",
@@ -7,9 +7,8 @@ import type { ApplicationBuilder } from "../../renderer/components/test-utils/ge
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { UserStore } from "../../common/user-store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import { observable } from "mobx";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - navigation to kubernetes preferences", () => {
let applicationBuilder: ApplicationBuilder;
@@ -24,10 +23,10 @@ describe("preferences - navigation to kubernetes preferences", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
const themeStoreStub = ({ themeOptions: [] }) as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
});
});
@@ -7,8 +7,7 @@ import type { ApplicationBuilder } from "../../renderer/components/test-utils/ge
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { UserStore } from "../../common/user-store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - navigation to proxy preferences", () => {
let applicationBuilder: ApplicationBuilder;
@@ -22,10 +21,10 @@ describe("preferences - navigation to proxy preferences", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
const themeStoreStub = ({ themeOptions: [] }) as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
});
});
@@ -6,13 +6,13 @@ 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 { getRendererExtensionFake } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import type { FakeExtensionData } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import { getRendererExtensionFakeFor } from "../../renderer/components/test-utils/get-renderer-extension-fake";
import type { UserStore } from "../../common/user-store";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import navigateToTelemetryPreferencesInjectable from "../../common/front-end-routing/routes/preferences/telemetry/navigate-to-telemetry-preferences.injectable";
import sentryDnsUrlInjectable from "../../renderer/components/+preferences/sentry-dns-url.injectable";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - navigation to telemetry preferences", () => {
let applicationBuilder: ApplicationBuilder;
@@ -26,10 +26,10 @@ describe("preferences - navigation to telemetry preferences", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
const themeStoreStub = { themeOptions: [] } as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
});
});
@@ -62,8 +62,8 @@ describe("preferences - navigation to telemetry preferences", () => {
describe("when extension with telemetry preference items gets enabled", () => {
beforeEach(() => {
const testExtensionWithTelemetryPreferenceItems =
getRendererExtensionFake(extensionStubWithTelemetryPreferenceItems);
const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder);
const testExtensionWithTelemetryPreferenceItems = getRendererExtensionFake(extensionStubWithTelemetryPreferenceItems);
applicationBuilder.addExtensions(
testExtensionWithTelemetryPreferenceItems,
@@ -106,18 +106,19 @@ describe("preferences - navigation to telemetry preferences", () => {
});
it("given extensions but no telemetry preference items, does not show link for telemetry preferences", () => {
const testExtensionWithTelemetryPreferenceItems =
getRendererExtensionFake({
id: "some-test-extension-id",
appPreferences: [
{
title: "irrelevant",
id: "irrelevant",
showInPreferencesTab: "not-telemetry",
components: { Hint: () => <div />, Input: () => <div /> },
},
],
});
const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder);
const testExtensionWithTelemetryPreferenceItems = getRendererExtensionFake({
id: "some-test-extension-id",
name: "some-test-extension-name",
appPreferences: [
{
title: "irrelevant",
id: "irrelevant",
showInPreferencesTab: "not-telemetry",
components: { Hint: () => <div />, Input: () => <div /> },
},
],
});
applicationBuilder.addExtensions(
testExtensionWithTelemetryPreferenceItems,
@@ -186,8 +187,9 @@ describe("preferences - navigation to telemetry preferences", () => {
});
});
const extensionStubWithTelemetryPreferenceItems = {
const extensionStubWithTelemetryPreferenceItems: FakeExtensionData = {
id: "some-test-extension-id",
name: "some-test-extension-name",
appPreferences: [
{
title: "Some telemetry-preference item",
@@ -7,10 +7,9 @@ import type { ApplicationBuilder } from "../../renderer/components/test-utils/ge
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { UserStore } from "../../common/user-store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import { observable } from "mobx";
import defaultShellInjectable from "../../renderer/components/+preferences/default-shell.injectable";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - navigation to terminal preferences", () => {
let applicationBuilder: ApplicationBuilder;
@@ -26,12 +25,11 @@ describe("preferences - navigation to terminal preferences", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
rendererDi.override(defaultShellInjectable, () => "some-default-shell");
const themeStoreStub = ({ themeOptions: [] }) as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
});
});
@@ -9,8 +9,7 @@ import { getApplicationBuilder } from "../../renderer/components/test-utils/get-
import isAutoUpdateEnabledInjectable from "../../main/is-auto-update-enabled.injectable";
import type { UserStore } from "../../common/user-store";
import userStoreInjectable from "../../common/user-store/user-store.injectable";
import type { ThemeStore } from "../../renderer/theme.store";
import themeStoreInjectable from "../../renderer/theme-store.injectable";
import ipcRendererInjectable from "../../renderer/app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
describe("preferences - navigation using application menu", () => {
let applicationBuilder: ApplicationBuilder;
@@ -27,10 +26,10 @@ describe("preferences - navigation using application menu", () => {
} as unknown as UserStore;
rendererDi.override(userStoreInjectable, () => userStoreStub);
const themeStoreStub = { themeOptions: [] } as unknown as ThemeStore;
rendererDi.override(themeStoreInjectable, () => themeStoreStub);
rendererDi.override(ipcRendererInjectable, () => ({
on: jest.fn(),
invoke: jest.fn(), // TODO: replace with proper mocking via the IPC bridge
} as never));
});
rendered = await applicationBuilder.render();
+12
View File
@@ -0,0 +1,12 @@
/**
* 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";
export function getSidebarItem(rendered: RenderResult, itemId: string) {
return rendered
.queryAllByTestId("sidebar-item")
.find((x) => x.dataset.idTest === itemId);
}
@@ -27,16 +27,17 @@ exports[`welcome - navigation using application menu when navigating to welcome
style="width: 320px;"
>
<h2>
Welcome to
OpenLens
5!
Welcome to OpenLens 5!
</h2>
<p>
To get you started we have auto-detected your clusters in your kubeconfig file and added them to the catalog, your centralized view for managing all your cloud-native resources.
<br />
<br />
If you have any questions or feedback, please join our
To get you started we have auto-detected your clusters in your
kubeconfig file and added them to the catalog, your centralized
view for managing all your cloud-native resources.
<br />
<br />
If you have any questions or feedback, please join our
<a
class="link"
href="https://join.slack.com/t/k8slens/shared_invite/zt-wcl8jq3k-68R5Wcmk1o95MLBE5igUDQ"