Skip to content

Commit 745757d

Browse files
authored
Merge pull request #359 from MHekert/tests/getPackageVersion
added getPackageVersion tests
2 parents 639b9c8 + 4861e88 commit 745757d

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

src/getPackageVersion.test.ts

+87
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import { getPackageVersion } from "./getPackageVersion"
2+
3+
describe("getPackageVersion", () => {
4+
beforeEach(() => {
5+
jest.resetModules()
6+
})
7+
8+
const packagePath = "../package.json"
9+
10+
it("should return version without change when already valid", () => {
11+
const packageJSON = {
12+
version: "1.2.3",
13+
}
14+
jest.mock(packagePath, () => {
15+
return packageJSON
16+
})
17+
18+
const expected = "1.2.3"
19+
20+
expect(getPackageVersion(packagePath)).toEqual(expected)
21+
})
22+
23+
it("should return version with prefix", () => {
24+
const packageJSON = {
25+
version: "v1.2.3",
26+
}
27+
jest.mock(packagePath, () => {
28+
return packageJSON
29+
})
30+
31+
const expected = "v1.2.3"
32+
33+
expect(getPackageVersion(packagePath)).toEqual(expected)
34+
})
35+
36+
it("should return invalid version without change", () => {
37+
const packageJSON = {
38+
version: "a.b.c",
39+
}
40+
jest.mock(packagePath, () => {
41+
return packageJSON
42+
})
43+
44+
const expected = "a.b.c"
45+
46+
expect(getPackageVersion(packagePath)).toEqual(expected)
47+
})
48+
49+
it("should return invalid version without build metadata", () => {
50+
const packageJSON = {
51+
version: "a.b.c+asd1234",
52+
}
53+
jest.mock(packagePath, () => {
54+
return packageJSON
55+
})
56+
57+
const expected = "a.b.c"
58+
59+
expect(getPackageVersion(packagePath)).toEqual(expected)
60+
})
61+
62+
it("should return version without build metadata", () => {
63+
const packageJSON = {
64+
version: "1.2.3+asd1234",
65+
}
66+
jest.mock(packagePath, () => {
67+
return packageJSON
68+
})
69+
70+
const expected = "1.2.3"
71+
72+
expect(getPackageVersion(packagePath)).toEqual(expected)
73+
})
74+
75+
it("should return version with prefix but without build metadata", () => {
76+
const packageJSON = {
77+
version: "v1.2.3+asd1234",
78+
}
79+
jest.mock(packagePath, () => {
80+
return packageJSON
81+
})
82+
83+
const expected = "v1.2.3"
84+
85+
expect(getPackageVersion(packagePath)).toEqual(expected)
86+
})
87+
})

0 commit comments

Comments
 (0)