Files
the_order/services/intake/src/index.test.ts
T
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

49 lines
1.2 KiB
TypeScript

import { describe, it, expect, beforeEach, afterEach } from 'vitest';
import Fastify, { FastifyInstance } from 'fastify';
import { createApiHelpers } from '@the-order/test-utils';
describe('Intake Service', () => {
let app: FastifyInstance;
let api: ReturnType<typeof createApiHelpers>;
beforeEach(async () => {
app = Fastify({
logger: false,
});
app.get('/health', async () => {
return { status: 'ok', service: 'intake' };
});
await app.ready();
api = createApiHelpers(app);
});
afterEach(async () => {
if (app) {
await app.close();
}
});
describe('GET /health', () => {
it('should return health status', async () => {
const response = await api.get('/health');
expect(response.status).toBe(200);
expect(response.body).toHaveProperty('status');
expect(response.body).toHaveProperty('service', 'intake');
});
});
describe('POST /ingest', () => {
it('should require authentication', async () => {
const response = await api.post('/ingest', {
title: 'Test Document',
type: 'legal',
});
expect([401, 500]).toContain(response.status);
});
});
});