test: mock matcher understands UNION existence reads; revive dead update-path mocks
parse_and_match_mocks matched mock.type against only the first FROM table — always 'entity' for hierarchy existence reads — so every merger update-case mock was silently inert and those cases snapshotted the create path. Now each UNION arm is matched independently (a mock matching any arm returns once, mirroring UNION dedup) and the type check accepts any FROM/JOIN table. Regenerated the five revived cases (their snapshots now show real update / no-op replace / archive semantics) and added the two previously untestable probe-disagreement cases: same-row dedup (updates, no error) and id-vs-lookup conflict (TOO_MANY_LOOKUP_ROWS). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@ -7660,3 +7660,15 @@ fn test_merger_0_15() {
|
||||
let path = format!("{}/fixtures/merger.json", env!("CARGO_MANIFEST_DIR"));
|
||||
crate::tests::runner::run_test_case(&path, 0, 15).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_merger_0_16() {
|
||||
let path = format!("{}/fixtures/merger.json", env!("CARGO_MANIFEST_DIR"));
|
||||
crate::tests::runner::run_test_case(&path, 0, 16).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_merger_0_17() {
|
||||
let path = format!("{}/fixtures/merger.json", env!("CARGO_MANIFEST_DIR"));
|
||||
crate::tests::runner::run_test_case(&path, 0, 17).unwrap();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user