될때까지

((TIL)) 프리온보딩 백엔드 사전스터디 : Node.js 7 본문

프로젝트/프리온보딩

((TIL)) 프리온보딩 백엔드 사전스터디 : Node.js 7

랖니 2022. 9. 30. 23:05
728x90

어허 테스트코드 만만치않아..?! 로그인 성공 시 토큰을 보내준다. 

해당 기능을 확인하는 테스트 코드를 작성하다가 맞딱드린 문제.

토큰을 추출까진 했는데..? 예측하기론 뭔가 JSON 파싱? 인코딩? 그런 게 안된 것 같은데 JSON.parse를 중간에 추가해도 안되고 계속 undefined라고 뜬다 도대체 왜그러는거야

구글링, jest공식사이트 모두 살펴봤지만 나와 같은 상황이 없다.. 

이것 저것 다른 메소드를 적용해봐도 계속 뜨는 빨간색 에러.. 뭘까 어떻게해야할까 

스택오버플로우에 물어봐야겠드아.. 답변달아주세요 🙏🙏

 

[2022.10.1 토요일]

아무리 생각해도 뭔가 JSON이 string으로 전환이 안된 것 같았다. 그래서 파싱코드를 추가해봤다.

token이라는 변수에 그럼 string형태로 {"token": "ey뭐시기"}로 담겼을테고?

여기서 token의 값을 뽑아내서 ey로 시작하는 지 비교하고 싶다. 그래서 대괄호를 사용하여 token의 값을 뽑았다. 결과는

        test("SUCCESS : login success", async () => {
            const response = await request(app)
                .post("/users/login")
                .send({
                    email : "test1234@naver.com",
                    password : "abcd!123@"
                });
            const token = JSON.parse(response.text)
            expect(response.status).toBe(200);
            expect(token['token']).toMatch(/^ey/);
        })

꺄 💜

728x90