initial
This commit is contained in:
26
web/tests/unit/contact-schema.test.ts
Normal file
26
web/tests/unit/contact-schema.test.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { z } from 'zod';
|
||||
|
||||
const schema = z.object({
|
||||
name: z.string().min(2),
|
||||
phone: z.string().min(7),
|
||||
email: z.string().email(),
|
||||
address: z.string().optional(),
|
||||
projectType: z.string().min(2),
|
||||
urgency: z.string().min(2),
|
||||
description: z.string().min(10)
|
||||
});
|
||||
|
||||
describe('contact schema', () => {
|
||||
it('accepts valid payload', () => {
|
||||
const out = schema.safeParse({
|
||||
name: 'Jane',
|
||||
phone: '361-555-0000',
|
||||
email: 'j@x.com',
|
||||
projectType: 'Residential',
|
||||
urgency: 'Now',
|
||||
description: 'Lights out in kitchen'
|
||||
});
|
||||
expect(out.success).toBe(true);
|
||||
});
|
||||
});
|
||||
7
web/tests/unit/utils.test.ts
Normal file
7
web/tests/unit/utils.test.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { formatPhone } from '@/lib/utils';
|
||||
import { describe, expect, it } from 'vitest';
|
||||
describe('formatPhone', () => {
|
||||
it('formats a raw phone string', () => {
|
||||
expect(formatPhone('+1 (361) 885-0315')).toBe('(361) 885-0315');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user