Я пытаюсь протестировать поток операций запрос-ответ сервера API.
Я пишу тесты сверху вниз, чтобы смоделировать последовательность запросов, которые сделает клиент.
Однако я сталкиваюсь с проблемой, когда дважды запрашиваю один и тот же URL-адрес (конечная точка регистрации) и получаю следующую ошибку:
Error: Can't set headers after they are sent.
Как обновить сервер между тестами, чтобы получить новый экземпляр сервера?
некоторый код:
describe('register -> login -> order', () => {
const userToAdd = {
username: `martin-Skope`,
password: `blabla`,
email: `nyet@pillow.me`
};
it('should not register user with unfilled requirements', () => {
chai
.request(server)
.post(`${ROOT_URL}/users/register`)
.send(Object.assign({}, userToAdd, { password: undefined }))
.end((err, res) => {
expect(res.status).eq(400);
});
});
/*
* REFRESH/RECREATE SERVER HERE
*/
it('Should register new user', () => {
chai
.request(server)
.post(`${ROOT_URL}/users/register`)
.send(userToAdd)
.end((err, res) => {
expect(res.status).eq(201);
});
});
it('Should save user to datastore', () => {
expect(Boolean(users.findByUsername(userToAdd.username))).eq(true);
}); -----> more tests