Skip to content

Commit 81aa285

Browse files
committed
test(metadata,metadata-protocol): the new legacy-organization doubles hold ObjectQL's findOne contract and are pinned
The DatabaseLoader count pin's engine double opens findOne with assertEngineFindOnePredicate, and the engine-double ledger records the doubles both new pin files declare (check:engine-double-contract --write). Claude-Session: https://claude.ai/code/session_01TekAoE8QbLrxFVJsdNuRgg Co-authored-by: Claude <noreply@anthropic.com>
1 parent 042ba4c commit 81aa285

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

‎packages/metadata/src/loaders/database-loader.legacy-organization-count.test.ts‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
* CONTROL), whose answers are the ones the loader always gave.
1212
*/
1313
import { describe, expect, it } from 'vitest';
14+
import { assertEngineFindOnePredicate } from '@objectstack/metadata-core';
1415
import { DatabaseLoader } from './database-loader.js';
1516

1617
type Row = Record<string, unknown>;
@@ -45,7 +46,10 @@ function engineOver(seed: Record<string, Row[]>, legacyShape: boolean) {
4546
};
4647
return {
4748
async find(t: string, q?: any) { return select(t, q); },
48-
async findOne(t: string, q?: any) { return select(t, q)[0] ?? null; },
49+
async findOne(t: string, q?: any) {
50+
assertEngineFindOnePredicate(t, q);
51+
return select(t, q)[0] ?? null;
52+
},
4953
async count(t: string, q?: any) { return rowsOf(t).filter((r) => matches(r, q?.where)).length; },
5054
getDriverForObject(t: string) {
5155
return {

‎scripts/engine-double-contract.pinned.json‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,21 @@
826826
"verb": "findOne",
827827
"pinned": 1
828828
},
829+
{
830+
"file": "packages/metadata-protocol/src/protocol.legacy-organization-read-seam.test.ts",
831+
"verb": "delete",
832+
"pinned": 1
833+
},
834+
{
835+
"file": "packages/metadata-protocol/src/protocol.legacy-organization-read-seam.test.ts",
836+
"verb": "findOne",
837+
"pinned": 1
838+
},
839+
{
840+
"file": "packages/metadata-protocol/src/protocol.legacy-organization-read-seam.test.ts",
841+
"verb": "update",
842+
"pinned": 1
843+
},
829844
{
830845
"file": "packages/metadata-protocol/src/protocol.legacy-overlay-delete.test.ts",
831846
"verb": "delete",
@@ -2131,6 +2146,11 @@
21312146
"verb": "update",
21322147
"pinned": 1
21332148
},
2149+
{
2150+
"file": "packages/metadata/src/loaders/database-loader.legacy-organization-count.test.ts",
2151+
"verb": "findOne",
2152+
"pinned": 1
2153+
},
21342154
{
21352155
"file": "packages/objectql/src/action-activation.test.ts",
21362156
"verb": "update",

0 commit comments

Comments
 (0)