From 403746557e00e2643d2a4e4b50aa0b91d35d05b4 Mon Sep 17 00:00:00 2001 From: allison-truhlar Date: Sun, 18 Jan 2026 18:54:47 +0000 Subject: [PATCH 1/2] fix: add sqlite3 in container for playwright tests --- .devcontainer/Dockerfile | 1 + frontend/ui-tests/utils/db-cleanup.ts | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) 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..1d95b649 100644 --- a/frontend/ui-tests/utils/db-cleanup.ts +++ b/frontend/ui-tests/utils/db-cleanup.ts @@ -25,10 +25,20 @@ 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 } } From 27696df090d7d0cd134c29ed4208406286d67d0c Mon Sep 17 00:00:00 2001 From: allison-truhlar Date: Sun, 18 Jan 2026 18:58:26 +0000 Subject: [PATCH 2/2] chore: prettier formatting --- frontend/ui-tests/utils/db-cleanup.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/ui-tests/utils/db-cleanup.ts b/frontend/ui-tests/utils/db-cleanup.ts index 1d95b649..1c714bb1 100644 --- a/frontend/ui-tests/utils/db-cleanup.ts +++ b/frontend/ui-tests/utils/db-cleanup.ts @@ -25,15 +25,20 @@ export function cleanDatabase(testTempDir: string): void { }); console.log(`[DB Cleanup] Cleared table: ${table}`); } catch (error) { - const errorMessage = error instanceof Error ? error.message : String(error); + 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}`); + console.error( + `[DB Cleanup] Failed to clear ${table}: ${errorMessage}` + ); + throw new Error( + `Database cleanup failed for table ${table}: ${errorMessage}` + ); } } }