오늘의 Test Case 작성
유저가 자신의 책을 등록하는 로직을 테스트로 만들어 보았다.
유저가 책을 등록하기 위해서는 먼저 로그인을 하고 토큰을 발급받은 다음 토큰의 유효 검사를 통과하면 책을 등록할 수 있기 때문에 먼저 token을 발급하고 확인하는 테스트가 먼저 실행되어야 할거라고 생각했다.
인증 관련 테스트는 테스트가 돌기전 beforeAll로 먼저 생성해놔야 한다고 하여
beforeAll(done => {
request(app)
.post('/users/signin')
.send({
email: 'test_123@gmail.com',
password: 'test_password',
})
.end((err, response) => {
token = response.body.token; // save the token!
// console.log(token);
done();
});
});
토큰을 먼저 생성하고 콘솔로 토큰을 확인하였다.
그런데 어떻게 varify해야 할지 아직 감이 안와서 먼저 test case 작성은 users/signin에 post요청을 한다음 .then으로 /books/registerbook에 post요청을 보내는 방법으로 작성하였다.
describe('POST /books/registerBook', () => {
test('should respond book info to registerBook data', async done => {
await request(app)
.post('/users/signin')
.send({
email: 'test_123@gmail.com',
password: 'test_password',
})
.then(res => {
request(app)
.post('/books/registerBook')
.send({
name: 'test_book',
publisher: 'test_pub',
writer: 'test_writer',
quelity: 'test_quelity',
description: 'test_desc',
image: 'test_image',
isRental: '대여 가능',
bookRegion: 'test_서울 관악구 봉천동',
userOwnerId: 1,
});
expect(res.status).toEqual(200);
done();
});
});
});
'Project > TIL' 카테고리의 다른 글
20.03.28 ShareBook TIL (0) | 2020.03.29 |
---|---|
20.03.27 ShareBook TIL (0) | 2020.03.27 |
20.03.25 ShareBook TIL (0) | 2020.03.25 |
20.03.24 ShareBook TIL (0) | 2020.03.25 |
20.03.23 ShareBook TIL (0) | 2020.03.24 |