본문 바로가기

Project/TIL

20.03.26 ShareBook TIL

오늘의 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