123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import assert from 'node:assert/strict';
- import { describe, it, before, after } from 'node:test';
- import { mkdir, writeFile } from 'node:fs/promises';
- import { rmSync } from 'node:fs';
- import { git } from '../dist/index.js';
- import { setup } from './utils.js';
- describe('git', () => {
- const fixture = setup();
- it('none', async () => {
- const context = { cwd: '', dryRun: true, prompt: () => ({ git: false }) };
- await git(context);
- assert.ok(fixture.hasMessage('Skipping Git initialization'));
- });
- it('yes (--dry-run)', async () => {
- const context = { cwd: '', dryRun: true, prompt: () => ({ git: true }) };
- await git(context);
- assert.ok(fixture.hasMessage('Skipping Git initialization'));
- });
- it('no (--dry-run)', async () => {
- const context = { cwd: '', dryRun: true, prompt: () => ({ git: false }) };
- await git(context);
- assert.ok(fixture.hasMessage('Skipping Git initialization'));
- });
- });
- describe('git initialized', () => {
- const fixture = setup();
- const dir = new URL(new URL('./fixtures/not-empty/.git', import.meta.url));
- before(async () => {
- await mkdir(dir, { recursive: true });
- await writeFile(new URL('./git.json', dir), '{}', { encoding: 'utf8' });
- });
- it('already initialized', async () => {
- const context = {
- git: true,
- cwd: './test/fixtures/not-empty',
- dryRun: false,
- prompt: () => ({ git: false }),
- };
- await git(context);
- assert.ok(fixture.hasMessage('Git has already been initialized'));
- });
- after(() => {
- rmSync(dir, { recursive: true, force: true });
- });
- });
|