aboutsummaryrefslogtreecommitdiff
path: root/packages/create-astro/test/dependencies.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/create-astro/test/dependencies.test.js')
-rw-r--r--packages/create-astro/test/dependencies.test.js80
1 files changed, 80 insertions, 0 deletions
diff --git a/packages/create-astro/test/dependencies.test.js b/packages/create-astro/test/dependencies.test.js
new file mode 100644
index 000000000..e4eb3d1f4
--- /dev/null
+++ b/packages/create-astro/test/dependencies.test.js
@@ -0,0 +1,80 @@
+import assert from 'node:assert/strict';
+import { describe, it } from 'node:test';
+import { dependencies } from '../dist/index.js';
+import { setup } from './utils.js';
+describe('dependencies', () => {
+ const fixture = setup();
+
+ it('--yes', async () => {
+ const context = {
+ cwd: '',
+ yes: true,
+ packageManager: 'npm',
+ dryRun: true,
+ prompt: () => ({ deps: true }),
+ };
+
+ await dependencies(context);
+
+ assert.ok(fixture.hasMessage('Skipping dependency installation'));
+ });
+
+ it('prompt yes', async () => {
+ const context = {
+ cwd: '',
+ packageManager: 'npm',
+ dryRun: true,
+ prompt: () => ({ deps: true }),
+ install: undefined,
+ };
+
+ await dependencies(context);
+
+ assert.ok(fixture.hasMessage('Skipping dependency installation'));
+ assert.equal(context.install, true);
+ });
+
+ it('prompt no', async () => {
+ const context = {
+ cwd: '',
+ install: true,
+ packageManager: 'npm',
+ dryRun: true,
+ prompt: () => ({ deps: false }),
+ install: undefined,
+ };
+
+ await dependencies(context);
+
+ assert.ok(fixture.hasMessage('Skipping dependency installation'));
+ assert.equal(context.install, false);
+ });
+
+ it('--install', async () => {
+ const context = {
+ cwd: '',
+ install: true,
+ packageManager: 'npm',
+ dryRun: true,
+ prompt: () => ({ deps: false }),
+ };
+ await dependencies(context);
+ assert.ok(fixture.hasMessage('Skipping dependency installation'));
+ assert.equal(context.install, true);
+ });
+
+ it('--no-install ', async () => {
+ const context = {
+ cwd: '',
+ install: false,
+ packageManager: 'npm',
+ dryRun: true,
+ prompt: () => ({ deps: false }),
+ };
+
+ await dependencies(context);
+
+ assert.ok(fixture.hasMessage('Skipping dependency installation'));
+ assert.equal(context.install, false);
+ });
+});