Skip to content

Commit

Permalink
refactor(test): Refactor mockPromptChoices() -> promptSelectOne.choos…
Browse files Browse the repository at this point in the history
…eBump()
  • Loading branch information
evocateur committed Dec 10, 2020
1 parent 69bb2e4 commit a02e12e
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 14 deletions.
6 changes: 3 additions & 3 deletions commands/__mocks__/@lerna/prompt.js
Expand Up @@ -36,8 +36,8 @@ const semverIndex = new Map(
].map((keyword, idx) => [keyword, idx])
);

exports.mockPromptChoices = (...keywords) => {
choiceIndices = keywords.map((keyword) => semverIndex.get(keyword));
mockSelect.chooseBump = (keyword) => {
choiceIndices.push(semverIndex.get(keyword));
};

exports.mockChoices = exports.mockPromptChoices;
exports.mockChoices = mockSelect.chooseBump;
8 changes: 4 additions & 4 deletions commands/version/__tests__/prompt-version.test.js
Expand Up @@ -3,7 +3,7 @@
jest.mock("@lerna/prompt");

const semver = require("semver");
const { promptSelectOne, promptTextInput, mockPromptChoices } = require("@lerna/prompt");
const { promptSelectOne, promptTextInput } = require("@lerna/prompt");
const { prereleaseIdFromVersion } = require("@lerna/prerelease-id-from-version");
const { makePromptVersion } = require("../lib/prompt-version");

Expand Down Expand Up @@ -47,7 +47,7 @@ describe("select", () => {
["preminor", "1.1.0-alpha.0"],
["premajor", "2.0.0-alpha.0"],
])("bump %s", async (bump, result) => {
mockPromptChoices(bump);
promptSelectOne.chooseBump(bump);

const choice = await versionPrompt({
version: "1.0.0",
Expand All @@ -64,7 +64,7 @@ describe("custom version", () => {
let inputValidate;

beforeEach(() => {
mockPromptChoices("CUSTOM");
promptSelectOne.chooseBump("CUSTOM");

promptTextInput.mockImplementationOnce((msg, cfg) => {
inputFilter = cfg.filter;
Expand Down Expand Up @@ -102,7 +102,7 @@ describe("custom prerelease", () => {
let inputFilter;

beforeEach(() => {
mockPromptChoices("PRERELEASE");
promptSelectOne.chooseBump("PRERELEASE");

promptTextInput.mockImplementationOnce((msg, cfg) => {
inputFilter = cfg.filter;
Expand Down
5 changes: 3 additions & 2 deletions commands/version/__tests__/version-bump-prerelease.test.js
Expand Up @@ -14,7 +14,7 @@ const fs = require("fs-extra");
const path = require("path");

// mocked modules
const { promptTextInput, mockPromptChoices } = require("@lerna/prompt");
const { promptTextInput, promptSelectOne } = require("@lerna/prompt");

// helpers
const initFixture = require("@lerna-test/init-fixture")(path.resolve(__dirname, "../../publish/__tests__"));
Expand Down Expand Up @@ -152,7 +152,8 @@ test("independent version prerelease does not bump on every unrelated change", a
await gitCommit(cwd, "init");

// simulate choices for pkg-a then pkg-b
mockPromptChoices("patch", "PRERELEASE");
promptSelectOne.chooseBump("patch");
promptSelectOne.chooseBump("PRERELEASE");
promptTextInput.mockImplementationOnce((msg, cfg) =>
// the _existing_ "bumps" prerelease ID should be preserved
Promise.resolve(cfg.filter())
Expand Down
14 changes: 9 additions & 5 deletions commands/version/__tests__/version-command.test.js
Expand Up @@ -12,7 +12,7 @@ const execa = require("execa");

// mocked or stubbed modules
const writePkg = require("write-pkg");
const { promptConfirmation, promptSelectOne, mockPromptChoices } = require("@lerna/prompt");
const { promptConfirmation, promptSelectOne } = require("@lerna/prompt");
const { collectUpdates } = require("@lerna/collect-updates");
const { output } = require("@lerna/output");
const { checkWorkingTree, throwIfUncommitted } = require("@lerna/check-working-tree");
Expand Down Expand Up @@ -135,7 +135,7 @@ describe("VersionCommand", () => {
const testDir = await initFixture("normal");

collectUpdates.setUpdated(testDir, "package-3");
mockPromptChoices("minor");
promptSelectOne.chooseBump("minor");

await lernaVersion(testDir)();

Expand All @@ -147,7 +147,7 @@ describe("VersionCommand", () => {
const testDir = await initFixture("normal");

collectUpdates.setUpdated(testDir, "package-3");
mockPromptChoices("major");
promptSelectOne.chooseBump("major");

await lernaVersion(testDir)();

Expand All @@ -160,7 +160,7 @@ describe("VersionCommand", () => {

// despite being a pendant leaf...
collectUpdates.setUpdated(testDir, "package-4");
mockPromptChoices("major");
promptSelectOne.chooseBump("major");

await lernaVersion(testDir)("--no-private");

Expand All @@ -174,7 +174,11 @@ describe("VersionCommand", () => {
describe("independent mode", () => {
it("versions changed packages", async () => {
// mock version prompt choices
mockPromptChoices("patch", "minor", "major", "minor", "patch");
promptSelectOne.chooseBump("patch");
promptSelectOne.chooseBump("minor");
promptSelectOne.chooseBump("major");
promptSelectOne.chooseBump("minor");
promptSelectOne.chooseBump("patch");

const testDir = await initFixture("independent");
await lernaVersion(testDir)(); // --independent is only valid in InitCommand
Expand Down

0 comments on commit a02e12e

Please sign in to comment.