mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix user store tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
c4a8604b25
commit
59657fcea4
@ -35,6 +35,7 @@ import getConfigurationFileModelInjectable from "../get-configuration-file-model
|
|||||||
import storeMigrationVersionInjectable from "../vars/store-migration-version.injectable";
|
import storeMigrationVersionInjectable from "../vars/store-migration-version.injectable";
|
||||||
import releaseChannelInjectable from "../vars/release-channel.injectable";
|
import releaseChannelInjectable from "../vars/release-channel.injectable";
|
||||||
import defaultUpdateChannelInjectable from "../../features/application-update/common/selected-update-channel/default-update-channel.injectable";
|
import defaultUpdateChannelInjectable from "../../features/application-update/common/selected-update-channel/default-update-channel.injectable";
|
||||||
|
import fsInjectable from "../fs/fs.injectable";
|
||||||
|
|
||||||
console = new Console(stdout, stderr);
|
console = new Console(stdout, stderr);
|
||||||
|
|
||||||
@ -49,8 +50,9 @@ describe("user store tests", () => {
|
|||||||
|
|
||||||
di.override(writeFileInjectable, () => () => Promise.resolve());
|
di.override(writeFileInjectable, () => () => Promise.resolve());
|
||||||
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
|
||||||
|
|
||||||
di.permitSideEffects(getConfigurationFileModelInjectable);
|
di.permitSideEffects(getConfigurationFileModelInjectable);
|
||||||
di.permitSideEffects(userStoreInjectable);
|
di.permitSideEffects(fsInjectable);
|
||||||
|
|
||||||
di.override(releaseChannelInjectable, () => ({
|
di.override(releaseChannelInjectable, () => ({
|
||||||
get: () => "latest" as const,
|
get: () => "latest" as const,
|
||||||
@ -59,6 +61,7 @@ describe("user store tests", () => {
|
|||||||
await di.inject(defaultUpdateChannelInjectable).init();
|
await di.inject(defaultUpdateChannelInjectable).init();
|
||||||
|
|
||||||
di.unoverride(userStoreInjectable);
|
di.unoverride(userStoreInjectable);
|
||||||
|
userStore = di.inject(userStoreInjectable);
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
@ -67,9 +70,8 @@ describe("user store tests", () => {
|
|||||||
|
|
||||||
describe("for an empty config", () => {
|
describe("for an empty config", () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
mockFs({ "some-directory-for-user-data": { "config.json": "{}", "kube_config": "{}" }});
|
mockFs({ "some-directory-for-user-data": { "lens-user-store.json": "{}", "kube_config": "{}" }});
|
||||||
|
|
||||||
userStore = di.inject(userStoreInjectable);
|
|
||||||
userStore.load();
|
userStore.load();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -94,10 +96,8 @@ describe("user store tests", () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
mockFs({
|
mockFs({
|
||||||
"some-directory-for-user-data": {
|
"some-directory-for-user-data": {
|
||||||
"config.json": JSON.stringify({
|
"lens-user-store.json": JSON.stringify({
|
||||||
user: { username: "foobar" },
|
|
||||||
preferences: { colorTheme: "light" },
|
preferences: { colorTheme: "light" },
|
||||||
lastSeenAppVersion: "1.2.3",
|
|
||||||
}),
|
}),
|
||||||
"lens-cluster-store.json": JSON.stringify({
|
"lens-cluster-store.json": JSON.stringify({
|
||||||
clusters: [
|
clusters: [
|
||||||
@ -122,13 +122,16 @@ describe("user store tests", () => {
|
|||||||
|
|
||||||
di.override(storeMigrationVersionInjectable, () => "10.0.0");
|
di.override(storeMigrationVersionInjectable, () => "10.0.0");
|
||||||
|
|
||||||
userStore = di.inject(userStoreInjectable);
|
|
||||||
userStore.load();
|
userStore.load();
|
||||||
});
|
});
|
||||||
|
|
||||||
it.only("skips clusters for adding to kube-sync with files under extension_data/", () => {
|
it("skips clusters for adding to kube-sync with files under extension_data/", () => {
|
||||||
expect(userStore.syncKubeconfigEntries.has("some-directory-for-user-data/extension_data/foo/bar")).toBe(false);
|
expect(userStore.syncKubeconfigEntries.has("some-directory-for-user-data/extension_data/foo/bar")).toBe(false);
|
||||||
expect(userStore.syncKubeconfigEntries.has("some/other/path")).toBe(true);
|
expect(userStore.syncKubeconfigEntries.has("some/other/path")).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("allows access to the colorTheme preference", () => {
|
||||||
|
expect(userStore.colorTheme).toBe("light");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -150,7 +150,7 @@ export function hasDefiniteField<Field extends keyof T, T>(field: Field): (val:
|
|||||||
return (val): val is T & { [f in Field]-?: NonNullable<T[Field]> } => val[field] != null;
|
return (val): val is T & { [f in Field]-?: NonNullable<T[Field]> } => val[field] != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isPromiseLike(res: unknown): res is (Promise<unknown> | { then: () => unknown }) {
|
export function isPromiseLike(res: unknown): res is (Promise<unknown> | { then: (fn: (val: unknown) => any) => Promise<unknown> }) {
|
||||||
if (res instanceof Promise) {
|
if (res instanceof Promise) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user