Я работаю с node/express/mongo и пытаюсь запустить тест, чтобы найти сообщения с определенным идентификатором.ECONNREFUSED: соединение отказано. Зачем? Все остальные тесты проходят
Это мой маршрут:
app.get('/api/posts/:id', PostController.getPost);
Это контроллер:
getPost(req, res, next) {
const postId = req.params.id;
Post.findById({ _id: postId })
.then(user => res.send(user))
.catch(next);
},
И это испытание:
describe('Post Controller',() => {
it('find a post with a particular id', (done) => {
const post = new Post({
text: 'This is a post',
voteCount: 0,
commentCount: 0,
createdAt: 0,
expiresAt: 0
});
post.save().then(() => {
console.log(post._id);
request(app)
.get(`api/posts/${post._id}`)
.set('Accept', 'application/json')
.expect(200)
.end((err, res) => {
console.log(res);
if (err) return done(err);
//assert(response.body.obj.firstName === 'Matt');
done();
});
});
});
post._id
в настоящее время консоль регистрируется только штрафом.
Ответ только регистрируется как null
.
return done(err)
что возвращается с Error: ECONNREFUSED: Connection refused
Я знаю, что маршрут работает, как он идет через нормально на postman
. Любая идея, почему это может быть неудачным?
Все мои другие тесты работают нормально, например, как этот:
it('POST to /api/posts creates a new post', done => {
Post.count().then(count => {
request(app)
.post('/api/posts')
.send({
text: 'This is a post',
voteCount: 0,
commentCount: 0,
createdAt: 0,
expiresAt: 0
})
.end(() => {
Post.count().then(newCount => {
assert(count + 1 === newCount);
done();
});
});
});
});
Поблагодарили бы за помощь!
Извините, нет, это не так :(. Я копирую и вставляю неправильный код. – bloppit