aboutsummaryrefslogtreecommitdiff
path: root/packages/create-astro/test/template.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/create-astro/test/template.test.js')
-rw-r--r--packages/create-astro/test/template.test.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/create-astro/test/template.test.js b/packages/create-astro/test/template.test.js
new file mode 100644
index 000000000..821ac9c2e
--- /dev/null
+++ b/packages/create-astro/test/template.test.js
@@ -0,0 +1,39 @@
+import assert from 'node:assert/strict';
+import { describe, it } from 'node:test';
+import { template } from '../dist/index.js';
+import { setup } from './utils.js';
+
+describe('template', async () => {
+ const fixture = setup();
+
+ it('none', async () => {
+ const context = { template: '', cwd: '', dryRun: true, prompt: () => ({ template: 'blog' }) };
+ await template(context);
+ assert.ok(fixture.hasMessage('Skipping template copying'));
+ assert.equal(context.template, 'blog');
+ });
+
+ it('minimal (--dry-run)', async () => {
+ const context = { template: 'minimal', cwd: '', dryRun: true, prompt: () => {} };
+ await template(context);
+ assert.ok(fixture.hasMessage('Using minimal as project template'));
+ });
+
+ it('basics (--dry-run)', async () => {
+ const context = { template: 'basics', cwd: '', dryRun: true, prompt: () => {} };
+ await template(context);
+ assert.ok(fixture.hasMessage('Using basics as project template'));
+ });
+
+ it('blog (--dry-run)', async () => {
+ const context = { template: 'blog', cwd: '', dryRun: true, prompt: () => {} };
+ await template(context);
+ assert.ok(fixture.hasMessage('Using blog as project template'));
+ });
+
+ it('minimal (--yes)', async () => {
+ const context = { template: 'minimal', cwd: '', dryRun: true, yes: true, prompt: () => {} };
+ await template(context);
+ assert.ok(fixture.hasMessage('Using minimal as project template'));
+ });
+});