qwen_2.5_model / src /modules /message /entities /message.entity.spec.ts
Muhammad Noman
Deploy OpenWA to Hugging Face Spaces
46252cd
Raw
History Blame Contribute Delete
1.34 kB
import { bigintToNumberTransformer } from './message.entity';
// bigint columns read back as a string on PostgreSQL but a number on SQLite; the transformer
// normalizes reads so the REST/SDK/MCP contract (always `number`) holds on both dialects.
describe('bigintToNumberTransformer (message.timestamp)', () => {
it('coerces a PostgreSQL bigint string read to a number', () => {
// ValueTransformer.from is typed `any`, so assert inline rather than binding to an `any` local.
expect(bigintToNumberTransformer.from('1700000000')).toBe(1700000000);
expect(typeof bigintToNumberTransformer.from('1700000000')).toBe('number');
});
it('passes a SQLite numeric read through unchanged', () => {
expect(bigintToNumberTransformer.from(1700000000)).toBe(1700000000);
});
it('preserves null', () => {
expect(bigintToNumberTransformer.from(null)).toBeNull();
});
it('writes values through unchanged', () => {
expect(bigintToNumberTransformer.to(1700000000)).toBe(1700000000);
expect(bigintToNumberTransformer.to(null)).toBeNull();
});
it('coerces a non-numeric read to null rather than leaking NaN (defensive)', () => {
// A bigint column cannot actually return this; the guard keeps NaN out of the number contract.
expect(bigintToNumberTransformer.from('not-a-number')).toBeNull();
});
});