Как проверить перенаправление узла с помощью Jest - PullRequest
0 голосов
/ 09 апреля 2020

Я использую Jest для тестирования моего Node REST API.

Проблема, с которой я столкнулся в настоящее время, заключается в том, что при попытке проверить мои POST-маршруты я всегда получаю код состояния 302 из-за res.redirect("/").

Пример моего POST-маршрута:

app.post("/login", async (req, res) => {
    try {
      let username = 'example'

      ...
      return res.redirect("/");

    } catch (error) {
       return res.redirect("/");
    }
  });

jest test file:

'use strict';
const request = require('supertest');
const app = require('./index');
...
describe('Test', () => {

   test('POST /login', () => {
       return request(app)
             .post('/login')
             .set('username','example')
             .expect(?)

    });

});

Как проверить, что страница успешно перенаправлена?

1 Ответ

1 голос
/ 09 апреля 2020

Согласно Express документам , вы можете указать код ответа следующим образом:

res.redirect(301, 'http://example.com')

Состояние документов "Если не указано, статус по умолчанию равен" 302 ". Найдено "."

Редактировать: HTTP-коды 301 и 302 указывают на успешное перенаправление; 301 является постоянным и 302 является временным. Оба «успешны» в отношении компьютера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...