1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/extensions/__tests__/npmjs-latest-version-checker.test.ts
Lauri Nevala 4e081e3cc2 Fix license headers
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2022-01-18 15:11:10 +02:00

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",
});
});
});
});