From f8b4f46d0de45e66a5274f9f18643bafbe751e21 Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Thu, 1 Oct 2026 09:31:37 +0800 Subject: [PATCH] test(db): real PostgreSQL read of an adopted segment's chart tiers via the service client (BUG-1138/1139) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8 --- frontend/tests/database-segment-adoption.test.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/frontend/tests/database-segment-adoption.test.ts b/frontend/tests/database-segment-adoption.test.ts index c99711b9..d1a4756c 100644 --- a/frontend/tests/database-segment-adoption.test.ts +++ b/frontend/tests/database-segment-adoption.test.ts @@ -5,6 +5,7 @@ import { fileURLToPath } from "node:url"; import test from "node:test"; import { closeLocalPostgresDataPool, createLocalPostgresDataClient } from "../src/lib/db/local-postgres-client-core.ts"; import { buildInferenceState } from "../src/lib/rectification-agentic/core/build-state.ts"; +import { clearAdoptedChartTierCache, loadAdoptedChartTiers } from "../src/lib/rectification-adopted-chart-tiers.ts"; import { startPostgresFixture } from "./helpers/postgres-fixture.ts"; const docker = spawnSync("docker", ["version"], { stdio: "ignore" }).status === 0; @@ -93,6 +94,14 @@ test(`segment adoption persists a noncandidate midnight minute atomically withou p_user_id: randomUUID(), p_case_id: caseId, p_result_id: row.result_id, }); assert.equal(wrongOwnerIdentity.data, null); + // BUG-1138/1139: reports and chat read this adoption's chart tiers through the + // service client: profile provenance (column grant) + case dossier RPC. + const provenanceRow = await service.from("profiles").select("active_birth_provenance").eq("id", userId).maybeSingle(); + assert.equal(provenanceRow.error, null); + clearAdoptedChartTierCache(); + assert.deepEqual(await loadAdoptedChartTiers(service, { + userId, provenance: (provenanceRow.data as Record).active_birth_provenance, + }, () => assert.fail("tier read must not warn")), { source: "segment-v1", resultMatch: "adopted", unreliable: [] }); assert.equal(fixture.psql(`select birth_time || ':' || active_birth_time || ':' || active_birth_date || ':' || (active_birth_provenance->>'candidate_time') || ':' || (active_birth_provenance->>'candidate_date') from public.profiles where id='${userId}'`), "00:10:00:00:10:00:2000-06-15:00:10:2000-06-15"); assert.equal(fixture.psql(`select selected_time || ':' || representative_time from public.agentic_rectification_results where id='${row.result_id}'`), "00:10:00:23:55:00");