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

fixing tests, part 1

This commit is contained in:
Roman 2020-06-23 18:11:27 +03:00
parent e324ab1a55
commit da9b20030f
6 changed files with 18 additions and 12 deletions

View File

@ -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": {

View File

@ -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)
})
})

View File

@ -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: {

View File

@ -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,
}

View File

@ -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;
}

View File

@ -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