Как написать интеграционные тесты для мультитенантного приложения с поддоменом.
Я работаю над мультитенантным приложением.Я пытаюсь написать интеграционные тесты для субдомена, но не могу заставить его работать.
Вот что я сделал:
тестовый файл
import supertest from 'supertest';
import http from 'http';
import app from '../../../app';
const baseUrl = 'censio.lvh.me:7000';
describe('Censio tests', () => {
let server;
let request;
beforeAll((done) => {
server = http.createServer(app);
server.listen(7000, done);
request = supertest(server);
});
afterAll((done) => {
server.close(done);
});
describe('Signin', () => {
it('should respond with missing fields ...', async () => {
const response = await request
.post(`${baseUrl}/signin`)
.send({})
.set('Accept', 'application/json');
expect(response.status).toBe(400);
});
});
});
app.js
import '@babel/polyfill';
import bodyParser from 'body-parser';
import cookieParser from 'cookie-parser';
import express from 'express';
import subdomain from 'express-subdomain';
import censioRouter from './tenants/censio';
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(cookieParser());
// Subdomain definitions
app.use(subdomain('censio', censioRouter));
app.get('*', (req, res) => res.status(200).json({ message: 'Project started' }));
export default app;
Когда я проверяю response.text, я вижу <!DOCTYPE html>
<html lang=\"en\">
<head>
<meta charset=\"utf-8\">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /:7000censio.lvh.me/signin</pre>
</body>
</html>
Это ставит сообщение впереди.Когда я избавляюсь от порта, я получаю эту ошибку: connect ECONNREFUSED 127.0.0.1:80
Что мне делать?