UNPKG

@coveo/semantic-monorepo-tools

Version:

A library of helper functions to do SemVer2 compliant releases from Conventional Commits in monorepos

33 lines (32 loc) 1.42 kB
jest.mock("semver"); import semver, { SemVer } from "semver"; import getNextVersion from "./getNextVersion.js"; describe("getNextVersion()", () => { const initialTestVersion = new SemVer("1.2.3"); const mockedInc = jest.mocked(semver.inc); afterEach(() => { jest.resetAllMocks(); }); describe("when called with BumpInfoWithLevel", () => { it.each([ [{ level: 0 }, "major"], [{ level: 1 }, "minor"], [{ level: 2 }, "patch"], [{ level: 0, isPrerelease: false }, "major"], [{ level: 1, isPrerelease: false }, "minor"], [{ level: 2, isPrerelease: false }, "patch"], [{ level: 0, isPrerelease: true }, "premajor"], [{ level: 1, isPrerelease: true }, "preminor"], [{ level: 2, isPrerelease: true }, "prepatch"], ])("should call semver.inc with the good ReleaseType", (params, expectedBumpInfo) => { getNextVersion(initialTestVersion, params); expect(mockedInc).toBeCalledWith(initialTestVersion, expectedBumpInfo); }); }); describe("when called with BumpInfoWithType", () => { it("should just act as proxy to semver.inc", () => { getNextVersion(initialTestVersion, { type: "patch", preid: "foobarbaz" }); expect(mockedInc).toBeCalledWith(initialTestVersion, "patch", "foobarbaz"); }); }); });