diff options
Diffstat (limited to 'packages/create-astro/test/dependencies.test.js')
-rw-r--r-- | packages/create-astro/test/dependencies.test.js | 80 |
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); + }); +}); |