mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-13 19:20:04 +00:00
3ce3b5388f
* ✅ test(database): raise model/repository coverage to 95%+ and document DB test conventions Raise @lobechat/database client-db coverage 89.11% -> 95.36%: - New integration tests for connector, connectorTool, workspaceMember (were 0%) - Extend task, workspace, rbac, notification, userMemory/query, file, agentSignal/reviewContext, verifyRubric, brief, taskTopic, dataImporter, messengerAccountLink, home Fix client-db (PGlite) test failures: BM25 search lacks the pg_search extension under PGlite, so wrap session.queryByKeyword and home.searchAgents in describe.skipIf(!isServerDB), matching the existing convention. Document DB model/repository testing conventions so new models ship with tests: - Rewrite testing skill's db-model-test.md (getTestDB integration pattern, client-vs-server-db split, BM25 skipIf guard, schema gotchas, user isolation) - Surface the rule in testing/SKILL.md, cross-link from drizzle/SKILL.md, review-checklist/SKILL.md, and models/_template.ts Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * ✅ test(database): make verifyRubric/brief ordering tests deterministic These models order by `updatedAt`/`createdAt` desc with no id tiebreaker, and the tests created rows back-to-back relying on default `now()` — when two rows land in the same millisecond the order is non-deterministic, causing flaky CI failures. Set explicit, well-separated timestamps instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>