← back to Jill Website

src/__tests__/routes/test-app.ts

23 lines

import express, { Express } from 'express';
import { createInquiriesRouter } from '../../routes/inquiries';
import { createPropertiesRouter } from '../../routes/properties';
import { InquiryModel } from '../../models/Inquiry';
import { PropertyModel } from '../../models/Property';

/**
 * Create test Express app for API endpoint testing
 */
export function createTestApp(mockInquiryModel?: InquiryModel, mockPropertyModel?: PropertyModel): Express {
  const app = express();

  // Middleware
  app.use(express.json());
  app.use(express.urlencoded({ extended: true }));

  // Routes with optional mock models
  app.use('/api', createInquiriesRouter(mockInquiryModel));
  app.use('/api', createPropertiesRouter(mockPropertyModel));

  return app;
}