diff --git a/lib/runner.js b/lib/runner.js index 884e707..247be0e 100644 --- a/lib/runner.js +++ b/lib/runner.js @@ -240,6 +240,29 @@ async function _executeTest(url, options) { const jsonPath = path.join(reportDir, `${testId}.json`); fs.writeFileSync(jsonPath, JSON.stringify(summary, null, 2)); + // Prepare Database Insert + const insertQuery = ` + INSERT INTO test_results ( + id, url, user_uuid, is_mobile, + scores, metrics, filmstrip, timestamp + ) VALUES ($1, $2, $3, $4, $5, $6, $7, NOW()) + RETURNING id + `; + + // Convert objects to JSON strings for DB text columns if needed, + // or rely on pg to stringify objects for JSONB columns if schema uses JSONB. + // Based on previous errors, schema might be expecting JSON. + + const values = [ + testId, + lhr.finalUrl, + options.userUuid || null, // Ensure options is available or pass it in + isMobile, + JSON.stringify(summary.scores), + JSON.stringify(summary.metrics), + JSON.stringify(filmstripData) + ]; + try { const db = require('../lib/db'); await db.pool.query(insertQuery, values);