diff --git a/src/commands/env-set.ts b/src/commands/env-set.ts index cc1d0f2d..720142f1 100644 --- a/src/commands/env-set.ts +++ b/src/commands/env-set.ts @@ -27,9 +27,11 @@ export default createCommand(config, async ({ positionals }) => { if (environment === repo) { await adapter.unsetEnvironment(); console.info(`Reset to the production environment "${repo}".`); - return; + } else { + await adapter.setEnvironment(environment); + console.info(`Set the active environment to "${environment}".`); } - await adapter.setEnvironment(environment); - console.info(`Set the active environment to "${environment}".`); + const setupInstructions = await adapter.getSetupInstructions(); + if (setupInstructions) console.info(`\n${setupInstructions}`); }); diff --git a/test/env-set.test.ts b/test/env-set.test.ts index 44bc2324..e80f0cf5 100644 --- a/test/env-set.test.ts +++ b/test/env-set.test.ts @@ -30,6 +30,12 @@ it("clears the active environment when setting to production", async ({ expect(after).not.toContain("my-stage-env"); }); +it("prints setup instructions", async ({ expect, prismic, repo }) => { + const { stdout, exitCode } = await prismic("env", ["set", repo]); + expect(exitCode).toBe(0); + expect(stdout).toContain("Action required: add to your root layout."); +}); + it("rejects an unknown environment", async ({ expect, prismic }) => { const { exitCode } = await prismic("env", ["set", "does-not-exist"]); expect(exitCode).toBe(1);