import { pool } from './db';
import { runJourneySmoke } from './smokeJourneyScenario';
import { runProfileSmoke } from './smokeProfileScenario';
import { createdUserIds } from './smokeSupport';
import { runPhotoSmoke } from './smokePhotoScenario';

try {
  const context = await runProfileSmoke();
  await runJourneySmoke(context);
  await runPhotoSmoke();
  process.stdout.write('Shared journey API smoke test passed.\n');
} finally {
  if (createdUserIds.length) {
    await pool.query(
      `DELETE FROM guardian_change_history
       WHERE candidate_user_id=ANY($1::uuid[]) OR former_guardian_user_id=ANY($1::uuid[])`,
      [createdUserIds],
    );
    await pool.query('DELETE FROM audit_events WHERE user_id = ANY($1::uuid[])', [createdUserIds]);
    await pool.query('DELETE FROM users WHERE id = ANY($1::uuid[])', [createdUserIds]);
  }
  await pool.end();
}
