1
import type { Diff } from 'deep-diff';
2
import { describe, expect, it } from 'vitest';
3
import type { SnapshotField } from '../types/snapshot.js';
5
import { isNestedMetaUpdate } from './apply-diff.js';
7
describe('isNestedMetaUpdate', () => {
9
{ kind: 'E', path: ['meta', 'options', 'option_a'], rhs: {} },
10
{ kind: 'A', path: ['meta', 'options', 'option_a'], rhs: [] },
11
] as Diff<SnapshotField>[])('Returns false when diff is kind $kind', (diff) => {
12
expect(isNestedMetaUpdate(diff)).toBe(false);
16
{ kind: 'N', path: ['schema', 'default_value'], rhs: {} },
17
{ kind: 'D', path: ['schema'], lhs: {} },
18
] as Diff<SnapshotField>[])('Returns false when diff path is not nested in meta', (diff) => {
19
expect(isNestedMetaUpdate(diff)).toBe(false);
23
{ kind: 'N', path: ['meta', 'options', 'option_a'], rhs: { test: 'value' } },
24
{ kind: 'D', path: ['meta', 'options', 'option_b'], lhs: {} },
25
] as Diff<SnapshotField>[])('Returns true when diff path is nested in meta', (diff) => {
26
expect(isNestedMetaUpdate(diff)).toBe(true);