인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Gichul Roh님의 프로필 이미지
Gichul Roh

작성한 질문수

테스트주도개발(TDD)로 만드는 NodeJS API 서버

사용자 수정 API 성공시

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

작성

·

368

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 상태 코드가 나오는게 의심스럽군요)

Gichul Roh님의 프로필 이미지
Gichul Roh

작성한 질문수

질문하기