26 lines
1.2 KiB
TypeScript
26 lines
1.2 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import fs from 'node:fs';
|
|
import path from 'node:path';
|
|
import test from 'node:test';
|
|
|
|
const root = process.cwd();
|
|
const read = (relative: string) => fs.readFileSync(path.join(root, relative), 'utf8');
|
|
|
|
test('F4 removes Survey modules from the active API', () => {
|
|
const app = read('src/app.module.ts');
|
|
assert.doesNotMatch(app, /SurveyPlanningModule/);
|
|
assert.doesNotMatch(app, /SurveyExecutionModule/);
|
|
const entities = read('src/database/entities/index.ts');
|
|
assert.doesNotMatch(entities, /SurveyCampaign|SurveyTargetReport|survey-campaign|survey-target-report/);
|
|
});
|
|
|
|
test('F4 removes survey permissions and survey-specific tables through a new cleanup migration', () => {
|
|
const migration = read('src/database/migrations/1790053200000-phase-f4-remove-survey-subsystem.ts');
|
|
assert.match(migration, /code LIKE 'surveys\.\%'/);
|
|
assert.match(migration, /DROP TABLE IF EXISTS survey_target_report_media/);
|
|
assert.match(migration, /DROP TABLE IF EXISTS survey_target_report_versions/);
|
|
assert.match(migration, /DROP TABLE IF EXISTS survey_target_reports/);
|
|
assert.match(migration, /DROP TABLE IF EXISTS survey_campaign_targets/);
|
|
assert.match(migration, /DROP TABLE IF EXISTS survey_campaigns/);
|
|
});
|