Remove BaseStore<T> and replace with composition of dependencies (#7002)

* Rename ExtensionStore -> BaseExtensionStore
- The name was too close to ExtensionsStore

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

* Move ExtensionsStore to new format

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

* Move ClusterStore to new format

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

* Move UserStore to new format

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

* Cleanup types to remove multiple cast locations

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

* Move HotbarStore to new format

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

* Move WeblinkStore to new format

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

* Move FileSystemProvisionerStore to new format

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

* Update snapshots

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

* Clean up impl and rename to better describe intent

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

* Fix remaining type errors

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

* Fully split apart the enabled extensions storage

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

* Fully split apart the clusters storage

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

* Fully split apart the hotbar storage

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

* Fully split apart the weblinks storage

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

* Fully split apart the user preferences storage

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

* Fix crashing

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

* Fix tests and snapshots

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

* Fix integration test failures

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

* Improve typing to prevent errors in the future.

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

* Cleanup @k8slens/messaging and friends

- To fix type errors

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

* Fix lint issue

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

* Fix type errors

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

* Fix global override not being complete enough causing tests to fail

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

* Bump memory for unit tests on CI

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

* Attempt to fix memory issue on CI again

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

* Fixup test because of new injectables

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

* Upgrade Jest

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

* Fix unit tests falling over

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

* Back out jest config change

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

* Remove console log

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

* Update snapshot

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

* Fix tests by matching equality instead of snapshots

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

* Fix tests by forcing specific snapshot style

- Ubuntu CI seems to format arrays in snapshots differently than macOS locally

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2023-03-28 17:54:25 +03:00
1 parent ba4a283af9
commit 49f0a1af9c
365 files changed
+6733 -3972

No files matched your search

@@ -1,132 +1,132 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`application-menu, given platform is 'darwin' given enough time passes populates application menu 1`] = `
Array [
"root",
"root -> mac",
"root -> mac -> about",
"root -> mac -> separator-1",
"root -> mac -> navigate-to-preferences",
"root -> mac -> navigate-to-extensions",
"root -> mac -> separator-2",
"root -> mac -> services",
"root -> mac -> separator-3",
"root -> mac -> hide",
"root -> mac -> hide-others",
"root -> mac -> unhide",
"root -> mac -> separator-4",
"root -> mac -> quit",
"root -> file",
"root -> file -> add-cluster",
"root -> file -> separator-1-for-file",
"root -> file -> close-window",
"root -> edit",
"root -> edit -> undo",
"root -> edit -> redo",
"root -> edit -> separator-1-in-edit",
"root -> edit -> cut",
"root -> edit -> copy",
"root -> edit -> paste",
"root -> edit -> delete",
"root -> edit -> separator-2-in-edit",
"root -> edit -> selectAll",
"root -> view",
"root -> view -> navigate-to-catalog",
"root -> view -> open-command-palette",
"root -> view -> separator-1-for-view",
"root -> view -> go-back",
"root -> view -> go-forward",
"root -> view -> reload",
"root -> view -> toggle-dev-tools",
"root -> view -> separator-2-for-view",
"root -> view -> reset-zoom",
"root -> view -> zoom-in",
"root -> view -> zoom-out",
"root -> view -> separator-3-for-view",
"root -> view -> toggle-full-screen",
"root -> help",
"root -> help -> navigate-to-welcome",
"root -> help -> open-documentation",
"root -> help -> open-support",
]
"[
'root',
'root -> mac',
'root -> mac -> about',
'root -> mac -> separator-1',
'root -> mac -> navigate-to-preferences',
'root -> mac -> navigate-to-extensions',
'root -> mac -> separator-2',
'root -> mac -> services',
'root -> mac -> separator-3',
'root -> mac -> hide',
'root -> mac -> hide-others',
'root -> mac -> unhide',
'root -> mac -> separator-4',
'root -> mac -> quit',
'root -> file',
'root -> file -> add-cluster',
'root -> file -> separator-1-for-file',
'root -> file -> close-window',
'root -> edit',
'root -> edit -> undo',
'root -> edit -> redo',
'root -> edit -> separator-1-in-edit',
'root -> edit -> cut',
'root -> edit -> copy',
'root -> edit -> paste',
'root -> edit -> delete',
'root -> edit -> separator-2-in-edit',
'root -> edit -> selectAll',
'root -> view',
'root -> view -> navigate-to-catalog',
'root -> view -> open-command-palette',
'root -> view -> separator-1-for-view',
'root -> view -> go-back',
'root -> view -> go-forward',
'root -> view -> reload',
'root -> view -> toggle-dev-tools',
'root -> view -> separator-2-for-view',
'root -> view -> reset-zoom',
'root -> view -> zoom-in',
'root -> view -> zoom-out',
'root -> view -> separator-3-for-view',
'root -> view -> toggle-full-screen',
'root -> help',
'root -> help -> navigate-to-welcome',
'root -> help -> open-documentation',
'root -> help -> open-support'
]"
`;
exports[`application-menu, given platform is 'linux' given enough time passes populates application menu 1`] = `
Array [
"root",
"root -> file",
"root -> file -> add-cluster",
"root -> file -> navigate-to-preferences",
"root -> file -> navigate-to-extensions",
"root -> file -> quit",
"root -> edit",
"root -> edit -> undo",
"root -> edit -> redo",
"root -> edit -> separator-1-in-edit",
"root -> edit -> cut",
"root -> edit -> copy",
"root -> edit -> paste",
"root -> edit -> delete",
"root -> edit -> separator-2-in-edit",
"root -> edit -> selectAll",
"root -> view",
"root -> view -> navigate-to-catalog",
"root -> view -> open-command-palette",
"root -> view -> separator-1-for-view",
"root -> view -> go-back",
"root -> view -> go-forward",
"root -> view -> reload",
"root -> view -> toggle-dev-tools",
"root -> view -> separator-2-for-view",
"root -> view -> reset-zoom",
"root -> view -> zoom-in",
"root -> view -> zoom-out",
"root -> view -> separator-3-for-view",
"root -> view -> toggle-full-screen",
"root -> help",
"root -> help -> navigate-to-welcome",
"root -> help -> open-documentation",
"root -> help -> open-support",
"root -> help -> about",
]
"[
'root',
'root -> file',
'root -> file -> add-cluster',
'root -> file -> navigate-to-preferences',
'root -> file -> navigate-to-extensions',
'root -> file -> quit',
'root -> edit',
'root -> edit -> undo',
'root -> edit -> redo',
'root -> edit -> separator-1-in-edit',
'root -> edit -> cut',
'root -> edit -> copy',
'root -> edit -> paste',
'root -> edit -> delete',
'root -> edit -> separator-2-in-edit',
'root -> edit -> selectAll',
'root -> view',
'root -> view -> navigate-to-catalog',
'root -> view -> open-command-palette',
'root -> view -> separator-1-for-view',
'root -> view -> go-back',
'root -> view -> go-forward',
'root -> view -> reload',
'root -> view -> toggle-dev-tools',
'root -> view -> separator-2-for-view',
'root -> view -> reset-zoom',
'root -> view -> zoom-in',
'root -> view -> zoom-out',
'root -> view -> separator-3-for-view',
'root -> view -> toggle-full-screen',
'root -> help',
'root -> help -> navigate-to-welcome',
'root -> help -> open-documentation',
'root -> help -> open-support',
'root -> help -> about'
]"
`;
exports[`application-menu, given platform is 'win32' given enough time passes populates application menu 1`] = `
Array [
"root",
"root -> file",
"root -> file -> add-cluster",
"root -> file -> navigate-to-preferences",
"root -> file -> navigate-to-extensions",
"root -> file -> quit",
"root -> edit",
"root -> edit -> undo",
"root -> edit -> redo",
"root -> edit -> separator-1-in-edit",
"root -> edit -> cut",
"root -> edit -> copy",
"root -> edit -> paste",
"root -> edit -> delete",
"root -> edit -> separator-2-in-edit",
"root -> edit -> selectAll",
"root -> view",
"root -> view -> navigate-to-catalog",
"root -> view -> open-command-palette",
"root -> view -> separator-1-for-view",
"root -> view -> go-back",
"root -> view -> go-forward",
"root -> view -> reload",
"root -> view -> toggle-dev-tools",
"root -> view -> separator-2-for-view",
"root -> view -> reset-zoom",
"root -> view -> zoom-in",
"root -> view -> zoom-out",
"root -> view -> separator-3-for-view",
"root -> view -> toggle-full-screen",
"root -> help",
"root -> help -> navigate-to-welcome",
"root -> help -> open-documentation",
"root -> help -> open-support",
"root -> help -> about",
]
"[
'root',
'root -> file',
'root -> file -> add-cluster',
'root -> file -> navigate-to-preferences',
'root -> file -> navigate-to-extensions',
'root -> file -> quit',
'root -> edit',
'root -> edit -> undo',
'root -> edit -> redo',
'root -> edit -> separator-1-in-edit',
'root -> edit -> cut',
'root -> edit -> copy',
'root -> edit -> paste',
'root -> edit -> delete',
'root -> edit -> separator-2-in-edit',
'root -> edit -> selectAll',
'root -> view',
'root -> view -> navigate-to-catalog',
'root -> view -> open-command-palette',
'root -> view -> separator-1-for-view',
'root -> view -> go-back',
'root -> view -> go-forward',
'root -> view -> reload',
'root -> view -> toggle-dev-tools',
'root -> view -> separator-2-for-view',
'root -> view -> reset-zoom',
'root -> view -> zoom-in',
'root -> view -> zoom-out',
'root -> view -> separator-3-for-view',
'root -> view -> toggle-full-screen',
'root -> help',
'root -> help -> navigate-to-welcome',
'root -> help -> open-documentation',
'root -> help -> open-support',
'root -> help -> about'
]"
`;
@@ -8,6 +8,7 @@ import populateApplicationMenuInjectable from "./main/populate-application-menu.
import { advanceFakeTime, testUsingFakeTime } from "../../test-utils/use-fake-time";
import { getCompositePaths } from "../../common/utils/composite/get-composite-paths/get-composite-paths";
import platformInjectable, { allPlatforms } from "../../common/vars/platform.injectable";
import { inspect } from "util";
describe.each(allPlatforms)("application-menu, given platform is '%s'", (platform) => {
let builder: ApplicationBuilder;
@@ -53,7 +54,14 @@ describe.each(allPlatforms)("application-menu, given platform is '%s'", (platfor
});
it("populates application menu", () => {
expect(applicationMenuPaths.map(x => x.join(" -> "))).toMatchSnapshot();
expect(inspect(applicationMenuPaths.map(x => x.join(" -> ")), {
compact: false,
breakLength: Infinity,
colors: false,
depth: Infinity,
maxArrayLength: Infinity,
maxStringLength: Infinity,
})).toMatchSnapshot();
});
});
});