diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 34302a76..c32a25b2 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -8,6 +8,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ jq \ aggregate \ curl \ + sqlite3 \ && rm -rf /var/lib/apt/lists/* # Install Playwright browser dependencies diff --git a/frontend/ui-tests/utils/db-cleanup.ts b/frontend/ui-tests/utils/db-cleanup.ts index 5243ef43..1c714bb1 100644 --- a/frontend/ui-tests/utils/db-cleanup.ts +++ b/frontend/ui-tests/utils/db-cleanup.ts @@ -25,10 +25,25 @@ export function cleanDatabase(testTempDir: string): void { }); console.log(`[DB Cleanup] Cleared table: ${table}`); } catch (error) { - console.log(`[DB Cleanup] Skipped ${table} (table may not exist)`); + const errorMessage = + error instanceof Error ? error.message : String(error); + + // Check if it's a "table doesn't exist" error (expected for new databases) + if (errorMessage.includes('no such table')) { + console.log(`[DB Cleanup] Skipped ${table} (table does not exist)`); + } else { + // Unexpected error - this indicates a real problem (e.g., sqlite3 not installed) + console.error( + `[DB Cleanup] Failed to clear ${table}: ${errorMessage}` + ); + throw new Error( + `Database cleanup failed for table ${table}: ${errorMessage}` + ); + } } } } catch (error) { - console.warn(`[DB Cleanup] Failed to clean database: ${error}`); + console.error(`[DB Cleanup] Fatal error during database cleanup: ${error}`); + throw error; // Fail tests immediately if cleanup fails } }