2017-02-04 1 views
0

Je travaille avec node/express/mongo et j'essaie de lancer un test pour trouver des messages avec un identifiant particulier.ECONNREFUSED: Connexion refusée. Pourquoi? Tous les autres tests passent

Ceci est mon itinéraire:

app.get('/api/posts/:id', PostController.getPost); 

C'est le contrôleur:

getPost(req, res, next) { 
    const postId = req.params.id; 

    Post.findById({ _id: postId }) 
     .then(user => res.send(user)) 
     .catch(next); 
    }, 

Et ceci est le test:

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

Le post._id est en cours de console connecté très bien.

La réponse est juste la journalisation comme null.

return done(err) est ce qui revient avec Error: ECONNREFUSED: Connection refused

Je sais que la route fonctionne comme il vient par très bien sur postman. Une idée de pourquoi cela pourrait échouer le test?

Tous mes autres tests sont en cours d'exécution très bien, comme celui-ci:

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

});

J'apprécierais un peu d'aide, s'il vous plaît!

Répondre

0

vérifier votre requête get, vous utilisez: ud mais vos params sont req.params.id

+0

désolé, non ce n'est pas ça :(. Je copié et collé le mauvais code. – bloppit

0

fixe, manqué le / dans: .get( api/messages/$ {} post._id )