seong

이력서 관리 사이트 (RestAPI) - 채용공고 상세보기 본문

이력관리사이트

이력서 관리 사이트 (RestAPI) - 채용공고 상세보기

hyeonseong 2022. 11. 16. 00:19

-  채용공고 상세 보기에 필요한 Dto 작성

애초에 DB에서 가져올때부터 Dto로 가져왔다.

 

- Controller 

내가 쓴 채용공고 보기도 수정 버튼이 있었다, 

해당 채용 공고를 작성한 회사가 봐야하는 부분이기 때문에 인증이 필요하기 때문에 "/s"를 추가해주었다.

Service에는 해당 채용공고가 존재하는지와, 채용공고를 작성한 회사가 맞는지 확인을 위해서 두개의 Id값을 넘겨주었다.

 

- Service 

Controller에서 받은 id값을 통해서 DB에서 각각의 값들을 영속화 시켜 주었다.

이후 채용 공고가 없다면 Exception처리, 해당 채용공고를 작성한 회사가 맞는지도 비교해 아니라면 Exception처리를 해주었다.

채용 공고에 TimeStamp타입이 있다.

이 부분을 포맷 해주는 로직이 Service 에 있다. 서비스는 오직 트랜잭션 관리만을 해주기 위해서 추후에 메서드로 따로 분리 해줄 것이다.


JUNIT 작성

1. Given

-채용 공고 상세보기는 이미 DB에 데이터가 필요하다. 본 코드는 MariaDB를 사용했지만

테스트 코드는 h2를 사용 했기 때문에 DB를 따로 생성해줄 필요가 있어 생성 해주고 테스트코드에 어노테이션으로 선언해주었다.

그럼 해당 메서드가 실행 되기전에 한번 sql문이 실행이 된다.

2. When

3. Then

ResultAction으로 요청수행 이후 응답객체를 받아와서 확인한다. 

ResponseDto에 있는 code,message,data에서 각각 비교해 다르다면 에러를 발생시킨다.

h2의 테스트 SQL 

테스트 성공