All files / json-patch/applyPatch/__tests__/ops matches.ts

100% Statements 11/11
100% Branches 0/0
100% Functions 7/7
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29      3x 8x   4x 4x 4x 4x             4x 4x 4x                    
import type {ApplyPatch} from '../../types';
import type {Operation} from '../../../types';
 
export const testMatchesOp = (applyPatch: ApplyPatch) => {
  const applyOperation = (doc: unknown, op: Operation) => applyPatch(doc, [op], {mutate: true});
 
  describe('matches', () => {
    describe('root', () => {
      test('succeeds when matches correctly a substring', () => {
        applyOperation('123', {
          op: 'matches',
          path: '',
          value: '\\d+',
        });
      });
 
      test('fails when does not match the string', () => {
        expect(() =>
          applyOperation('asdf', {
            op: 'matches',
            path: '',
            value: '\\d+',
          }),
        ).toThrow();
      });
    });
  });
};