mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
63 lines
1.4 KiB
TypeScript
63 lines
1.4 KiB
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
|
|
import type { DownloadFileOptions } from "../../common/utils/downloadFile";
|
|
import { NpmJsVersionChecker } from "../npmjs-latest-version.checker";
|
|
|
|
const npmPackage = {
|
|
versions: {
|
|
"1.0.0": {
|
|
name: "foo",
|
|
},
|
|
},
|
|
};
|
|
|
|
describe("NpmJsVersionChecker", () => {
|
|
describe("getLatestVersion", () => {
|
|
|
|
it("returns null if versions not present", async () => {
|
|
const downloadJson = () => {
|
|
return { promise: new Promise((resolve) => {
|
|
resolve({});
|
|
}) };
|
|
};
|
|
|
|
const checker = new NpmJsVersionChecker(downloadJson);
|
|
|
|
|
|
const version = await checker.getLatestVersion({
|
|
name: "foo",
|
|
version: "0.1.0",
|
|
});
|
|
|
|
expect(version).toBeNull();
|
|
});
|
|
|
|
it("fetches latest release from npmjs", async () => {
|
|
const downloadJson = (args: DownloadFileOptions) => {
|
|
expect(args).toEqual({
|
|
url: "https://registry.npmjs.com/foo",
|
|
});
|
|
|
|
return { promise: new Promise((resolve) => {
|
|
resolve(npmPackage);
|
|
}) };
|
|
};
|
|
|
|
const checker = new NpmJsVersionChecker(downloadJson);
|
|
|
|
const version = await checker.getLatestVersion({
|
|
name: "foo",
|
|
version: "0.1.0",
|
|
});
|
|
|
|
expect(version).toEqual({
|
|
input: "foo",
|
|
version: "1.0.0",
|
|
});
|
|
});
|
|
});
|
|
});
|