diff --git a/package.json b/package.json index 15e10b7b6c..1aca672e80 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "scripts": { "dev": "concurrently -k 'yarn dev-run' 'yarn dev:main' 'yarn dev:renderer:react' 'yarn dev:renderer:vue'", "dev-run": "electron --inspect .", + "dev-test": "yarn test --watch", "dev:main": "DEBUG=true yarn compile:main --watch $@", "dev:renderer": "DEBUG=true yarn compile:renderer --watch $@", "dev:renderer:react": "yarn dev:renderer --config-name react $@", @@ -61,8 +62,8 @@ ] }, "jest": { - "collectCoverage": true, - "testRegex": "spec/.*_(spec)\\.[jt]sx?$", + "testRegex": ".*_(spec)\\.[jt]sx?$", + "collectCoverage": false, "verbose": true, "testEnvironment": "node", "transform": { diff --git a/spec/src/main/kubectl_spec.ts b/spec/src/main/kubectl_spec.ts index 82e19b73f5..2072bf8062 100644 --- a/spec/src/main/kubectl_spec.ts +++ b/spec/src/main/kubectl_spec.ts @@ -1,17 +1,19 @@ +import packageInfo from "../../../package.json" import { bundledKubectl, Kubectl } from "../../../src/main/kubectl"; jest.mock("electron") -jest.mock("../../../common/user-store"); +jest.mock("../../../src/common/user-store") +// fixme: ENOENT: no such file or directory, mkdir '/foo/bar' describe("kubectlVersion", () => { - it("returns bundled version if exactly same version used", async () => { const kubectl = new Kubectl(bundledKubectl.kubectlVersion) expect(kubectl.kubectlVersion).toBe(bundledKubectl.kubectlVersion) }) it("returns bundled version if same major.minor version is used", async () => { - const kubectl = new Kubectl("1.17.0") + const { bundledKubectlVersion } = packageInfo.config; + const kubectl = new Kubectl(bundledKubectlVersion); expect(kubectl.kubectlVersion).toBe(bundledKubectl.kubectlVersion) }) }) diff --git a/src/common/cluster-store.ts b/src/common/cluster-store.ts index ded836b04b..af2eb826d9 100644 --- a/src/common/cluster-store.ts +++ b/src/common/cluster-store.ts @@ -6,6 +6,7 @@ import * as version260Beta2 from "../migrations/cluster-store/2.6.0-beta.2" import * as version260Beta3 from "../migrations/cluster-store/2.6.0-beta.3" import * as version270Beta0 from "../migrations/cluster-store/2.7.0-beta.0" import * as version270Beta1 from "../migrations/cluster-store/2.7.0-beta.1" +import { getAppVersion } from "./utils/app-version"; export class ClusterStore { private static instance: ClusterStore; @@ -13,6 +14,9 @@ export class ClusterStore { private constructor() { this.store = new ElectronStore({ + // @ts-ignore + // fixme: tests are failed without "projectVersion" + projectVersion: getAppVersion(), name: "lens-cluster-store", accessPropertiesByDotNotation: false, // To make dots safe in cluster context names migrations: { diff --git a/src/common/user-store.ts b/src/common/user-store.ts index bdf8b141d2..fd3ea296fc 100644 --- a/src/common/user-store.ts +++ b/src/common/user-store.ts @@ -1,5 +1,6 @@ import ElectronStore from "electron-store" import * as version210Beta4 from "../migrations/user-store/2.1.0-beta.4" +import { getAppVersion } from "./utils/app-version"; export interface User { id?: string; @@ -19,6 +20,9 @@ export class UserStore { private constructor() { this.store = new ElectronStore({ + // @ts-ignore + // fixme: tests are failed without "projectVersion" + projectVersion: getAppVersion(), migrations: { "2.1.0-beta.4": version210Beta4.migration, } diff --git a/src/common/utils/app-version.ts b/src/common/utils/app-version.ts index b751ba5fcc..0f3808125c 100644 --- a/src/common/utils/app-version.ts +++ b/src/common/utils/app-version.ts @@ -1,10 +1,5 @@ import packageInfo from "../../../package.json" -import { app, remote } from "electron" -/** - * @returns app version correctly regardless of dev/prod mode and main/renderer differences - */ export function getAppVersion(): string { - const version = (app || remote.app).getVersion(); - return version || packageInfo.version; + return packageInfo.version; } diff --git a/src/main/kubectl.ts b/src/main/kubectl.ts index f07daf3bae..785d8b45e6 100644 --- a/src/main/kubectl.ts +++ b/src/main/kubectl.ts @@ -59,7 +59,7 @@ export class Kubectl { public static readonly kubectlDir = path.join((app || remote.app).getPath("userData"), "binaries", "kubectl") public static readonly bundledKubectlPath = bundledPath - public static readonly bundledKubectlVersion: string = bundledVersion + public static readonly bundledKubectlVersion = bundledVersion private static bundledInstance: Kubectl; // Returns the single bundled Kubectl instance