task-d.7.9

This commit is contained in:
phaichayon
2026-07-03 11:39:37 +07:00
parent 503f34e22f
commit 9c8d6a0d6d
21 changed files with 1809 additions and 42 deletions

View File

@@ -0,0 +1,33 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import { assertFileExists, readText } from './helpers.ts';
test('setup plugin registry files exist', () => {
for (const file of [
'src/features/setup/plugins/plugin-types.ts',
'src/features/setup/plugins/plugin-registry.ts',
'src/features/setup/plugins/installation-profile.ts',
'src/features/setup/plugins/foundation/foundation-plugin.ts',
'src/features/setup/plugins/crm/crm-setup-plugin.ts',
'src/features/setup/plugins/crm/crm-installation-profile.ts'
]) {
assertFileExists(file);
}
});
test('installation profile API and wizard profile loading exist', () => {
assertFileExists('src/app/api/setup/profiles/route.ts');
const wizard = readText('src/features/setup/components/setup-wizard.tsx');
assert.match(wizard, /setupProfilesQueryOptions/);
assert.match(wizard, /Installation profile/);
});
test('template API exposes plugin-aware metadata without removing legacy fields', () => {
const route = readText('src/app/api/setup/templates/route.ts');
assert.match(route, /plugin/);
assert.match(route, /profiles/);
assert.match(route, /requiredColumns/);
assert.match(route, /importOrder/);
});