Files
the_order/packages/schemas/src/user.test.ts
defiQUG 2633de4d33 feat(eresidency): Complete eResidency service implementation
- Implement credential revocation endpoint with proper database integration
- Fix database row mapping (snake_case to camelCase) for eResidency applications
- Add missing imports (getRiskAssessmentEngine, VeriffKYCProvider, ComplyAdvantageSanctionsProvider)
- Fix environment variable type checking for Veriff and ComplyAdvantage providers
- Add required 'message' field to notification service calls
- Fix risk assessment type mismatches
- Update audit logging to use 'verified' action type (supported by schema)
- Resolve all TypeScript errors and unused variable warnings
- Add TypeScript ignore comments for placeholder implementations
- Temporarily disable security/detect-non-literal-regexp rule due to ESLint 9 compatibility
- Service now builds successfully with no linter errors

All core functionality implemented:
- Application submission and management
- KYC integration (Veriff placeholder)
- Sanctions screening (ComplyAdvantage placeholder)
- Risk assessment engine
- Credential issuance and revocation
- Reviewer console
- Status endpoints
- Auto-issuance service
2025-11-10 19:43:02 -08:00

52 lines
1.3 KiB
TypeScript

import { describe, it, expect } from 'vitest';
import { UserSchema, CreateUserSchema } from './user';
describe('UserSchema', () => {
it('should validate a valid user', () => {
const user = {
id: '123e4567-e89b-12d3-a456-426614174000',
email: 'test@example.com',
name: 'Test User',
createdAt: new Date().toISOString(),
updatedAt: new Date().toISOString(),
};
const result = UserSchema.parse(user);
expect(result).toEqual(user);
});
it('should reject invalid email', () => {
const user = {
id: '123e4567-e89b-12d3-a456-426614174000',
email: 'invalid-email',
name: 'Test User',
createdAt: new Date().toISOString(),
updatedAt: new Date().toISOString(),
};
expect(() => UserSchema.parse(user)).toThrow();
});
it('should reject missing required fields', () => {
const user = {
id: '123e4567-e89b-12d3-a456-426614174000',
email: 'test@example.com',
};
expect(() => UserSchema.parse(user)).toThrow();
});
});
describe('CreateUserSchema', () => {
it('should validate create user without id and timestamps', () => {
const user = {
email: 'test@example.com',
name: 'Test User',
};
const result = CreateUserSchema.parse(user);
expect(result).toEqual(user);
});
});