25 lines
890 B
TypeScript
25 lines
890 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { inviteUserSchema } from './users';
|
|
|
|
describe('inviteUserSchema', () => {
|
|
it('accepts valid email and role', () => {
|
|
const result = inviteUserSchema.safeParse({ email: 'user@example.com', role: 'Administrator' });
|
|
expect(result.success).toBe(true);
|
|
});
|
|
|
|
it('rejects invalid email', () => {
|
|
const result = inviteUserSchema.safeParse({ email: 'not-an-email', role: 'User' });
|
|
expect(result.success).toBe(false);
|
|
});
|
|
|
|
it('rejects missing role', () => {
|
|
const result = inviteUserSchema.safeParse({ email: 'user@example.com' });
|
|
expect(result.success).toBe(false);
|
|
});
|
|
|
|
it('rejects invalid role value', () => {
|
|
const result = inviteUserSchema.safeParse({ email: 'user@example.com', role: 'Owner' });
|
|
expect(result.success).toBe(false);
|
|
});
|
|
});
|