From 4861e886b991a56c71e864dfb67479b01987eae3 Mon Sep 17 00:00:00 2001 From: Mateusz Hekert Date: Fri, 19 Nov 2021 00:25:46 +0100 Subject: [PATCH] added getPackageVersion tests --- src/getPackageVersion.test.ts | 87 +++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/getPackageVersion.test.ts diff --git a/src/getPackageVersion.test.ts b/src/getPackageVersion.test.ts new file mode 100644 index 00000000..b0853f8e --- /dev/null +++ b/src/getPackageVersion.test.ts @@ -0,0 +1,87 @@ +import { getPackageVersion } from "./getPackageVersion" + +describe("getPackageVersion", () => { + beforeEach(() => { + jest.resetModules() + }) + + const packagePath = "../package.json" + + it("should return version without change when already valid", () => { + const packageJSON = { + version: "1.2.3", + } + jest.mock(packagePath, () => { + return packageJSON + }) + + const expected = "1.2.3" + + expect(getPackageVersion(packagePath)).toEqual(expected) + }) + + it("should return version with prefix", () => { + const packageJSON = { + version: "v1.2.3", + } + jest.mock(packagePath, () => { + return packageJSON + }) + + const expected = "v1.2.3" + + expect(getPackageVersion(packagePath)).toEqual(expected) + }) + + it("should return invalid version without change", () => { + const packageJSON = { + version: "a.b.c", + } + jest.mock(packagePath, () => { + return packageJSON + }) + + const expected = "a.b.c" + + expect(getPackageVersion(packagePath)).toEqual(expected) + }) + + it("should return invalid version without build metadata", () => { + const packageJSON = { + version: "a.b.c+asd1234", + } + jest.mock(packagePath, () => { + return packageJSON + }) + + const expected = "a.b.c" + + expect(getPackageVersion(packagePath)).toEqual(expected) + }) + + it("should return version without build metadata", () => { + const packageJSON = { + version: "1.2.3+asd1234", + } + jest.mock(packagePath, () => { + return packageJSON + }) + + const expected = "1.2.3" + + expect(getPackageVersion(packagePath)).toEqual(expected) + }) + + it("should return version with prefix but without build metadata", () => { + const packageJSON = { + version: "v1.2.3+asd1234", + } + jest.mock(packagePath, () => { + return packageJSON + }) + + const expected = "v1.2.3" + + expect(getPackageVersion(packagePath)).toEqual(expected) + }) +})