1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Remove use of mockFs in hotbar store tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-01-04 13:27:45 -05:00
parent a28f60d5d3
commit 916101bb4e

View File

@ -4,10 +4,8 @@
*/ */
import { anyObject } from "jest-mock-extended"; import { anyObject } from "jest-mock-extended";
import mockFs from "mock-fs";
import type { CatalogEntity, CatalogEntityData, CatalogEntityKindData } from "../catalog"; import type { CatalogEntity, CatalogEntityData, CatalogEntityKindData } from "../catalog";
import { getDiForUnitTesting } from "../../main/getDiForUnitTesting"; import { getDiForUnitTesting } from "../../main/getDiForUnitTesting";
import getConfigurationFileModelInjectable from "../get-configuration-file-model/get-configuration-file-model.injectable";
import type { DiContainer } from "@ogre-tools/injectable"; import type { DiContainer } from "@ogre-tools/injectable";
import hotbarStoreInjectable from "../hotbars/store.injectable"; import hotbarStoreInjectable from "../hotbars/store.injectable";
import type { HotbarStore } from "../hotbars/store"; import type { HotbarStore } from "../hotbars/store";
@ -19,7 +17,7 @@ import loggerInjectable from "../logger.injectable";
import type { Logger } from "../logger"; import type { Logger } from "../logger";
import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable"; import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable";
import storeMigrationVersionInjectable from "../vars/store-migration-version.injectable"; import storeMigrationVersionInjectable from "../vars/store-migration-version.injectable";
import fsInjectable from "../fs/fs.injectable"; import writeJsonSyncInjectable from "../fs/write-json-sync.injectable";
function getMockCatalogEntity(data: Partial<CatalogEntityData> & CatalogEntityKindData): CatalogEntity { function getMockCatalogEntity(data: Partial<CatalogEntityData> & CatalogEntityKindData): CatalogEntity {
return { return {
@ -47,8 +45,6 @@ describe("HotbarStore", () => {
beforeEach(async () => { beforeEach(async () => {
di = getDiForUnitTesting({ doGeneralOverrides: true }); di = getDiForUnitTesting({ doGeneralOverrides: true });
di.unoverride(hotbarStoreInjectable);
testCluster = getMockCatalogEntity({ testCluster = getMockCatalogEntity({
apiVersion: "v1", apiVersion: "v1",
kind: "Cluster", kind: "Cluster",
@ -101,7 +97,7 @@ describe("HotbarStore", () => {
di.override(loggerInjectable, () => loggerMock); di.override(loggerInjectable, () => loggerMock);
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
const catalogEntityRegistry = di.inject(catalogEntityRegistryInjectable); const catalogEntityRegistry = di.inject(catalogEntityRegistryInjectable);
const catalogCatalogEntity = di.inject(catalogCatalogEntityInjectable); const catalogCatalogEntity = di.inject(catalogCatalogEntityInjectable);
@ -112,20 +108,10 @@ describe("HotbarStore", () => {
awsCluster, awsCluster,
catalogCatalogEntity, catalogCatalogEntity,
])); ]));
di.permitSideEffects(fsInjectable);
di.permitSideEffects(getConfigurationFileModelInjectable);
di.unoverride(getConfigurationFileModelInjectable);
});
afterEach(() => {
mockFs.restore();
}); });
describe("given no previous data in store, running all migrations", () => { describe("given no previous data in store, running all migrations", () => {
beforeEach(() => { beforeEach(() => {
mockFs();
hotbarStore = di.inject(hotbarStoreInjectable); hotbarStore = di.inject(hotbarStoreInjectable);
hotbarStore.load(); hotbarStore.load();
@ -276,66 +262,64 @@ describe("HotbarStore", () => {
describe("given data from 5.0.0-beta.3 and version being 5.0.0-beta.10", () => { describe("given data from 5.0.0-beta.3 and version being 5.0.0-beta.10", () => {
beforeEach(() => { beforeEach(() => {
mockFs({ const writeJsonSync = di.inject(writeJsonSyncInjectable);
"some-directory-for-user-data": {
"lens-hotbar-store.json": JSON.stringify({ writeJsonSync("/some-directory-for-user-data/lens-hotbar-store.json", {
__internal__: { __internal__: {
migrations: { migrations: {
version: "5.0.0-beta.3", version: "5.0.0-beta.3",
}, },
},
hotbars: [
{
id: "3caac17f-aec2-4723-9694-ad204465d935",
name: "myhotbar",
items: [
{
entity: {
uid: "some-aws-id",
},
},
{
entity: {
uid: "55b42c3c7ba3b04193416cda405269a5",
},
},
{
entity: {
uid: "176fd331968660832f62283219d7eb6e",
},
},
{
entity: {
uid: "61c4fb45528840ebad1badc25da41d14",
name: "user1-context",
source: "local",
},
},
{
entity: {
uid: "27d6f99fe9e7548a6e306760bfe19969",
name: "foo2",
source: "local",
},
},
null,
{
entity: {
uid: "c0b20040646849bb4dcf773e43a0bf27",
name: "multinode-demo",
source: "local",
},
},
null,
null,
null,
null,
null,
],
},
],
}),
}, },
hotbars: [
{
id: "3caac17f-aec2-4723-9694-ad204465d935",
name: "myhotbar",
items: [
{
entity: {
uid: "some-aws-id",
},
},
{
entity: {
uid: "55b42c3c7ba3b04193416cda405269a5",
},
},
{
entity: {
uid: "176fd331968660832f62283219d7eb6e",
},
},
{
entity: {
uid: "61c4fb45528840ebad1badc25da41d14",
name: "user1-context",
source: "local",
},
},
{
entity: {
uid: "27d6f99fe9e7548a6e306760bfe19969",
name: "foo2",
source: "local",
},
},
null,
{
entity: {
uid: "c0b20040646849bb4dcf773e43a0bf27",
name: "multinode-demo",
source: "local",
},
},
null,
null,
null,
null,
null,
],
},
],
}); });
di.override(storeMigrationVersionInjectable, () => "5.0.0-beta.10"); di.override(storeMigrationVersionInjectable, () => "5.0.0-beta.10");