diff options
Diffstat (limited to 'packages/create-astro/test/context.test.js')
-rw-r--r-- | packages/create-astro/test/context.test.js | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/packages/create-astro/test/context.test.js b/packages/create-astro/test/context.test.js new file mode 100644 index 000000000..b4e67a8c6 --- /dev/null +++ b/packages/create-astro/test/context.test.js @@ -0,0 +1,73 @@ +import assert from 'node:assert/strict'; +import os from 'node:os'; +import { describe, it } from 'node:test'; +import { getContext } from '../dist/index.js'; +describe('context', () => { + it('no arguments', async () => { + const ctx = await getContext([]); + assert.ok(!ctx.projectName); + assert.ok(!ctx.template); + assert.deepEqual(ctx.skipHouston, os.platform() === 'win32'); + assert.ok(!ctx.dryRun); + }); + + it('project name', async () => { + const ctx = await getContext(['foobar']); + assert.deepEqual(ctx.projectName, 'foobar'); + }); + + it('template', async () => { + const ctx = await getContext(['--template', 'minimal']); + assert.deepEqual(ctx.template, 'minimal'); + }); + + it('skip houston (explicit)', async () => { + const ctx = await getContext(['--skip-houston']); + assert.deepEqual(ctx.skipHouston, true); + }); + + it('skip houston (yes)', async () => { + const ctx = await getContext(['-y']); + assert.deepEqual(ctx.skipHouston, true); + }); + + it('skip houston (no)', async () => { + const ctx = await getContext(['-n']); + assert.deepEqual(ctx.skipHouston, true); + }); + + it('skip houston (install)', async () => { + const ctx = await getContext(['--install']); + assert.deepEqual(ctx.skipHouston, true); + }); + + it('dry run', async () => { + const ctx = await getContext(['--dry-run']); + assert.deepEqual(ctx.dryRun, true); + }); + + it('install', async () => { + const ctx = await getContext(['--install']); + assert.deepEqual(ctx.install, true); + }); + + it('add', async () => { + const ctx = await getContext(['--add', 'node']); + assert.deepEqual(ctx.add, ['node']); + }); + + it('no install', async () => { + const ctx = await getContext(['--no-install']); + assert.deepEqual(ctx.install, false); + }); + + it('git', async () => { + const ctx = await getContext(['--git']); + assert.deepEqual(ctx.git, true); + }); + + it('no git', async () => { + const ctx = await getContext(['--no-git']); + assert.deepEqual(ctx.git, false); + }); +}); |