conversion.test.ts•1.94 kB
import { describe, expect, it } from 'vitest'
import { mapArg } from '../conversion'
describe('mapArg', () => {
it('converts a date with a 4-digit year (value >= 1000-01-01) to the correct date', () => {
const date = new Date('1999-12-31T23:59:59.999Z')
const result = mapArg(date, { dbType: 'DATE', scalarType: 'datetime', arity: 'scalar' })
expect(result).toBe('1999-12-31')
})
it('converts a date with a 3-digit year (0100-01-01 <= value < 1000-01-01) to the correct date', () => {
const date = new Date('0999-12-31T23:59:59.999Z')
const result = mapArg(date, { dbType: 'DATE', scalarType: 'datetime', arity: 'scalar' })
expect(result).toBe('0999-12-31')
})
it('converts a date with a 2-digit year (0000-01-01 <= value < 0100-01-01) to the correct date', () => {
const date = new Date('0099-12-31T23:59:59.999Z')
const result = mapArg(date, { dbType: 'DATE', scalarType: 'datetime', arity: 'scalar' })
expect(result).toBe('0099-12-31')
})
it('converts a date with a 4-digit year (value >= 1000-01-01) to the correct datetime', () => {
const date = new Date('1999-12-31T23:59:59.999Z')
const result = mapArg(date, { dbType: 'DATETIME', scalarType: 'datetime', arity: 'scalar' })
expect(result).toBe('1999-12-31 23:59:59.999')
})
it('converts a date with a 3-digit year (0100-01-01 <= value < 1000-01-01) to the correct datetime', () => {
const date = new Date('0999-12-31T23:59:59.999Z')
const result = mapArg(date, { dbType: 'DATETIME', scalarType: 'datetime', arity: 'scalar' })
expect(result).toBe('0999-12-31 23:59:59.999')
})
it('converts a date with a 2-digit year (0000-01-01 <= value < 0100-01-01) to the correct datetime', () => {
const date = new Date('0099-12-31T23:59:59.999Z')
const result = mapArg(date, { dbType: 'DATETIME', scalarType: 'datetime', arity: 'scalar' })
expect(result).toBe('0099-12-31 23:59:59.999')
})
})