import { readId } from '../../src/utils'; describe('readId', () => { it('reads a positive integer', () => { expect(readId('7')).toBe(7); expect(readId('999999')).toBe(999999); }); // Each of these used to be sent to Postgres as text, raising 22P02 for an // integer column and surfacing to the caller as a 500 (#207). it.each(['abc', '', ' ', '1.5', '-1', '0', 'NaN', '1e5abc'])( 'refuses %p', (value) => { expect(readId(value)).toBeNull(); } ); it('refuses a missing param', () => { expect(readId(undefined)).toBeNull(); }); });