• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

강의를 보면서 입력한 코드는 전부 맞는 것 같은데, 에러가 하나 떠서요

18.10.04 21:27 작성 조회수 298

0

PUT /users/3 404 0.752 ms - -

1) 변경된 name을 응답한다

1) PUT /users/:id
성공시
변경된 name을 응답한다:

Uncaught AssertionError: expected Object {} to have property name

```app.put('/users/:id', (req, res) => {
const id = parseInt(req.params.id, 10);
if (Number.isNaN(id)) return res.status(400).end();

const name = req.body.name;
if (!name) return res.status(400).end();

const isConflict = users.filter(user => user.name === name).length;
if (isConflict) return res.status(409).end();

const user = users.filter(user => user.id === id)[0];
if (!user) return res.status(404).end();

user.name = name;

res.json(user);

});

it('변경된 name을 응답한다', (done) => {
const name = 'chally';
request(app)
.put('/users/3')
.send({name: name})
.end((err, res) => {
res.body.should.have.property('name', name);
done();
});
})

답변 1

답변을 작성해보세요.

0

바디가 빈 객체로 왔다면, 에러코드를 응답한건 아닌까요?

(end((err, res) =>

에서 err 객체도 확인해 보세요. (맨 첫출에 보면 200이 아니라 404 상태 코드가 나오는게 의심스럽군요)