Junit Test Application-32-계좌삭제 기능

jaegeunsong97·2023년 8월 8일
0

Junit Bank Application 깃허브

Junit Bank Application 기록 노션

  • 서비스 코드
@RequiredArgsConstructor
@Transactional(readOnly = true)
@Service
public class AccountService {
.
.
.
	@Transactional
     public void 계좌삭제(Long number, Long userId) {
          // 1. 계좌 DB 검증
          Account accountPS = accountRepository.findByNumber(number).orElseThrow(
                    () -> new CustomApiException("계좌를 찾을 수 없습니다. "));

          // 2. 계좌 소유자 DB 검증
          accountPS.checkOwner(userId);

          // 3. 계좌 삭제
          accountRepository.deleteById(accountPS.getId());
     }
  • 컨트롤러 코드
@RequiredArgsConstructor
@RequestMapping("/api")
@RestController
public class AccountController {
.
.
.
	@DeleteMapping("/s/account/{number}")
     public ResponseEntity<?> deleteAcoount(@PathVariable Long number, @AuthenticationPrincipal LoginUser loginUser) {
          accountService.계좌삭제(number, loginUser.getUser().getId());
          return new ResponseEntity<>(new ResponseDto<>(1, "계좌삭제 성공", null), HttpStatus.OK);
     }

여기서 주목할 점은 accountPS.checkOwner(userId); 이렇게 작성한 것

profile
블로그 이전 : https://medium.com/@jaegeunsong97

0개의 댓글