From f2c8ab3d3aea86cf84deee1d5433b9c827bc3c3f Mon Sep 17 00:00:00 2001 From: Daniel Stockman Date: Mon, 14 Oct 2019 14:48:37 -0700 Subject: [PATCH] test: Add prepublish to lifecycle leaf --- .../lifecycle/packages/package-2/package.json | 3 +++ .../__tests__/publish-lifecycle-scripts.test.js | 12 +++++++++--- integration/lerna-publish-lifecycle-silent.test.js | 1 + integration/lerna-publish-lifecycle.test.js | 5 +++++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/__fixtures__/lifecycle/packages/package-2/package.json b/__fixtures__/lifecycle/packages/package-2/package.json index d7e806f1b1..9dc5a64254 100644 --- a/__fixtures__/lifecycle/packages/package-2/package.json +++ b/__fixtures__/lifecycle/packages/package-2/package.json @@ -3,5 +3,8 @@ "version": "1.0.0", "dependencies": { "package-1": "^1.0.0" + }, + "scripts": { + "prepublish": "echo prepublish-package-2" } } diff --git a/commands/publish/__tests__/publish-lifecycle-scripts.test.js b/commands/publish/__tests__/publish-lifecycle-scripts.test.js index 936e785c24..9cf38a469d 100644 --- a/commands/publish/__tests__/publish-lifecycle-scripts.test.js +++ b/commands/publish/__tests__/publish-lifecycle-scripts.test.js @@ -12,11 +12,13 @@ jest.mock("../../version/lib/is-behind-upstream"); jest.mock("../../version/lib/remote-branch-exists"); // mocked modules +const packDirectory = require("@lerna/pack-directory"); const runLifecycle = require("@lerna/run-lifecycle"); const loadJsonFile = require("load-json-file"); // helpers const initFixture = require("@lerna-test/init-fixture")(__dirname); +const path = require("path"); // test command const lernaPublish = require("@lerna-test/command-runner")(require("../command")); @@ -42,10 +44,14 @@ describe("lifecycle scripts", () => { ); }); - // package-2 lacks version lifecycle scripts - expect(runLifecycle).not.toHaveBeenCalledWith( + // package-2 only has prepublish lifecycle + expect(packDirectory).toHaveBeenCalledWith( expect.objectContaining({ name: "package-2" }), - expect.any(String) + path.join(cwd, "packages/package-2"), + expect.objectContaining({ + "ignore-prepublish": false, + "ignore-scripts": false, + }) ); expect(runLifecycle.getOrderedCalls()).toEqual([ diff --git a/integration/lerna-publish-lifecycle-silent.test.js b/integration/lerna-publish-lifecycle-silent.test.js index 4de0d60226..4ab8b7e607 100644 --- a/integration/lerna-publish-lifecycle-silent.test.js +++ b/integration/lerna-publish-lifecycle-silent.test.js @@ -38,6 +38,7 @@ prepack-root prepare-package-1 prepublishOnly-package-1 prepack-package-1 +prepublish-package-2 postpack-root postpublish-package-1 postpublish-root diff --git a/integration/lerna-publish-lifecycle.test.js b/integration/lerna-publish-lifecycle.test.js index e8328282d4..cd0191ad9d 100644 --- a/integration/lerna-publish-lifecycle.test.js +++ b/integration/lerna-publish-lifecycle.test.js @@ -91,6 +91,11 @@ prepublishOnly-package-1 prepack-package-1 +> package-2@1.1.0 prepublish __TEST_ROOTDIR__/packages/package-2 +> echo prepublish-package-2 + +prepublish-package-2 + > lifecycle@0.0.0-monorepo postpack __TEST_ROOTDIR__ > echo postpack-root