Я пытаюсь выполнить некоторые юнит-тесты, но не могу, потому что вместо статуса 200 я получаю 401
Uncaught AssertionError: Ожидаемый {Object (_events, _eventsCount, ...)} иметь код состояния 200, но получил 401 + ожидаемый - фактический
-401
+200
let chai = require('chai');
let expect = chai.expect;
let chaiHttp = require('chai-http');
let summaryRoute = '/home';
let baseURL = 'https://xxx.xxx.xxx.xxx';
chai.use(chaiHttp);
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
describe('/GET /home', () => {
it('should return a json', done => {
chai.request(baseURL)
.get(summaryRoute)
.end((err, res) => {
expect(err).to.be.null;
expect(res).to.have.status(200);
done();
});
});
});
Есть ли какой-либо способ сделать первый вход в систему или я могу сохранить в process.env
имя пользователя и пароль?
Я также пробовал это:
const request = require('supertest');
const expect = require('expect');
let chai = require('chai');
let chaiHttp = require('chai-http');
let summaryRoute = '/home';
let baseURL = 'https://xxx.xxx.xxx.xxx';
chai.use(chaiHttp);
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
function createLoginToken(server, loginDetails, done) {
request(server)
.post('login')
.send(loginDetails)
.end(function(error, response) {
if (error) {
throw error;
}
let loginToken = "xxxxx"
done(loginToken);
});
}
describe('/GET /home', () => {
it('should return a json', (done) => {
createLoginToken(baseURL, { username: "username", password: 'password'}, function(header) {
request(baseURL)
.get(summaryRoute)
.set('Authorization', 'Bearer ' + header)
.expect(200)
.end(done);
});
});
});
, но я также получаю
Ошибка: ожидается 200 "OK", получено 401 "Unauthorized"
Чего мне не хватает?Спасибо за ваше время!(в Почтальоне это работает, я получаю 200)