Skip to content

Commit

Permalink
refactor(validator): add more test cases and remove boolean unit test…
Browse files Browse the repository at this point in the history
… from index.spec.ts
  • Loading branch information
NWYLZW committed Feb 9, 2024
1 parent b0afdd8 commit e3fbb7f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 71 deletions.
70 changes: 0 additions & 70 deletions packages/validator/tests/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -170,75 +170,5 @@ describe('validate', () => {
expectTypeOf(r0).toEqualTypeOf<string>()
})
})
describe('boolean', () => {
test('base', () => {
const r0 = t.boolean().validate(true)
expect(r0).toBe(true)
expectTypeOf(r0).toEqualTypeOf<boolean>()
})
test('unexpected', () => {
const skm = t.boolean()
expect(() => {
// @ts-expect-error
skm.validate(1)
}).toThrow(new ValidateError('unexpected', skm, 1))
})
test('transform - number, string, null, undefined, bigint', () => {
const skm = t.boolean()
const r0 = skm.parse(1)
expect(r0).toBe(true)
expectTypeOf(r0).toEqualTypeOf<boolean>()
const r1 = skm.parse('true')
expect(r1).toBe(true)
expectTypeOf(r1).toEqualTypeOf<boolean>()
const r2 = skm.parse('false')
expect(r2).toBe(false)
expectTypeOf(r2).toEqualTypeOf<boolean>()
const r3 = skm.parse(null)
expect(r3).toBe(false)
expectTypeOf(r3).toEqualTypeOf<boolean>()
const r4 = skm.parse(undefined)
expect(r4).toBe(false)
expectTypeOf(r4).toEqualTypeOf<boolean>()
const r5 = skm.parse(1n)
expect(r5).toBe(true)
expectTypeOf(r5).toEqualTypeOf<boolean>()
})
test('transform - any or unknown', () => {
expectTypeOf(
t.boolean().parse(1 as any)
).toEqualTypeOf<boolean>()
expectTypeOf(
t.boolean().parse(1 as unknown)
).toEqualTypeOf<boolean>()
})
test('try and transform - any or unknown', () => {
expectTypeOf(
t.boolean().tryParse(1 as any)
).toEqualTypeOf<t.ValidateSuccessResult<boolean>>()
expectTypeOf(
t.boolean().tryParse(1 as unknown)
).toEqualTypeOf<t.ValidateSuccessResult<boolean>>()
})
test('transform - special falsy', () => {
const skm = t.boolean()
const r0 = skm.parse(0)
expect(r0).toBe(false)
expectTypeOf(r0).toEqualTypeOf<boolean>()
const r1 = skm.parse('')
expect(r1).toBe(false)
expectTypeOf(r1).toEqualTypeOf<boolean>()
FALSELY.forEach((falsyValue) => {
const r = skm.parse(falsyValue)
expect(r).toBe(false)
})
})
test('transform - valueOf', () => {
const skm = t.boolean()
const r0 = skm.parse({ valueOf: () => true } as Boolean)
expect(r0).toBe(true)
expectTypeOf(r0).toEqualTypeOf<boolean>()
})
})
})
})
9 changes: 8 additions & 1 deletion packages/validator/tests/types/primitives.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,12 @@ describe('bigint', () => {
const r2 = skm.parse('0B10')
expect(r1).toBe(2n)
})
test('transform - primitive.string - special falsy', () => {})
test('transform - primitive.symbol', () => {
})
test('transform - literal', () => {})
test('transform - any or unknown', () => {})
test('transform - any or unknown & try', () => {})
test('transform - constructor.date', () => {
})
})
Expand Down Expand Up @@ -238,6 +242,7 @@ describe('boolean', () => {

// TODO: with const
})
test('transform - primitive.string - special falsy', () => {})
test('transform - primitive.symbol', () => {})
test('transform - literal', () => {
const skm = t.boolean()
Expand All @@ -254,6 +259,8 @@ describe('boolean', () => {
expect(r3).toBe(false)
expectTypeOf(r3).toEqualTypeOf<false>()
})
test('transform - any or unknown', () => {})
test('transform - any or unknown & try', () => {})
test('transform - constructor.date', () => {})
})
})
Expand Down Expand Up @@ -475,7 +482,7 @@ describe('number', () => {
t.number().parse(1 as unknown)
).toEqualTypeOf<never>()
})
test('try and transform - any or unknown', () => {
test('transform - any or unknown & try', () => {
expectTypeOf(
t.number().tryParse(1 as any)
).toEqualTypeOf<t.ValidateResult<number>>()
Expand Down

0 comments on commit e3fbb7f

Please sign in to comment.