проверка входа с мокко с использованием паспорта в качестве промежуточного программного обеспечения - PullRequest
0 голосов
/ 07 февраля 2019

на самом деле я не знаю, как проверить эту функциональность, у меня есть конечная точка с именем входа

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();
    });

тест никогда не вызывает конечную точку,поэтому я не знаю, как я могу это сделать.пожалуйста, помогите мне

...