-
사용자 조회 API 성공, 실패시웹프로그래밍/node.js 2019. 6. 3. 17:28
성공
- id가 1인 유저 객체를 반환한다.
실패
- id가 숫자가 아닐 경우 400으로 응답한다
- id로 유저를 찾을 수 없을 경우 404로 응답한다
index.spec.js 코드 추가
describe('GET /users/1는', ()=> { describe('성공시', ()=> { it('id가 1인 유저 객체를 반환한다', (done)=> { //비동기에 대한 처리 request(app) .get('/users/1') .end((err, res)=> { res.body.should.have.property('id', 1); // id가 1인지 검증하는 코드 done(); }); }); }); describe('실패시', ()=> { it('id가 숫자가 아닐 경우 400으로 응답한다', (done)=> { //비동기에 대한 처리 request(app) .get('/users/one') .expect(400) .end(done); }); it('id로 유저를 찾을 수 없을 경우 404로 응답한다', (done)=> { //비동기에 대한 처리 request(app) .get('/users/999') .expect(404) .end(done); }); }); });
index.js코드 추가
app.get('/users/:id', function(req, res) { const id = parseInt(req.params.id, 10); if(Number.isNaN(id)) return res.status(400).end(); //숫자가 아닌 경우 400으로 응답 const user = users.filter((user) => user.id === id)[0]; //filter는 array니까 [0]에 접근해야된다. if(!user) return res.status(404).end(); //id로 유저를 찾을 수 없는 경우 res.json(user); });
▶ filter 특정 조건에 해당하는 값을 다시 반환해서 새로운 array를 만들어냄
'웹프로그래밍 > node.js' 카테고리의 다른 글
사용자 추가 API 성공, 실패시 (0) 2019.06.03 사용자 삭제 API 성공, 실패시 (0) 2019.06.03 첫 API 테스트 만들기 (0) 2019.06.03 테스트 주도 개발 (TDD) (0) 2019.06.03 익스프레스(ExpressJS) 기초 (0) 2019.06.03 댓글