на самом деле я не знаю, как проверить эту функциональность, у меня есть конечная точка с именем входа
const passportSignIn = passport.authenticate('local', { session: false });
router.post('/signin', passportSignIn, async (req, res) => {
try {
const signUser = await Userdal.signIn(req.user);
return res.status(httpStatus.OK).send({ token: signUser });
} catch (error) {
return res.status(httpStatus.FORBIDDEN).send({ error: error.message });
}
});
, и я не знаю, как это проверить, я использую supertest-as-promised
для проведения консультаций,промежуточное ПО с локальной статистикой аттестата таково:
passport.use('local', new LocalStrategy({
usernameField: 'email',
}, async (email, password, done) => {
try {
const user = await UserModel.findOne({ email });
if (!user) {
return done(null, false);
}
const passwordHash = cryptoPassword.validatePassword(password, user.salt);
return passwordHash === user.password ? done(null, user) : done(null, false);
} catch (error) {
return done(error, false);
}
}));
export default passport;
тест, который я делаю, (я знаю, что это неправильно):
it('should return a user signed', (done) => {
user.user.email = 'nxccc@hotmail.com';
request(app)
.post('/api/v1/users/signin/')
.send({ email: user.user.email, password: user.user.password })
.expect(httpStatus.OK);
done();
});
тест никогда не вызывает конечную точку,поэтому я не знаю, как я могу это сделать.пожалуйста, помогите мне