== 실습
=== 개요
Service와 Repository의 인티그레이션 테스트를 작성합니다. 

=== 절차 
. 통합 테스트를 위한 테스트 클래스를 생성해 봅시다. 테스트용 데이터는 src/test/resources 아래의 CatalogServiceTest.sql에 준비되어 있습니다. CatalogService 객체의 다음 메서드를 테스트해 보세요.
.. findAll 메서드
... 최소한 검색 결과가 예상대로 나오는지 확인합니다. 
.. findById 메서드
... 적당한 ID로 검색하여 Product 객체의 내용이 예상과 일치하는지 확인합니다. 

. OrderService의 테스트 메서드를 완성해 봅시다. OrderServiceTest에 테스트 메서드(test_placeOrder 메서드)가 작성되어 있지만, placeOrder 메서드를 호출한 후 아무것도 검사하지 않고 있습니다. JdbcTemplate을 사용하여 데이터베이스에 접근하여 최소한 다음 사항을 확인해 보세요.
.. 발급받은 주문 ID를 사용하여 주문 데이터를 검색하고, 검색한 주문 데이터의 고객 이름과 주소가 예상대로인가?
.. 발급된 주문 ID에 연결된 주문 상세 내역 데이터의 개수가 예상대로인가?
.. 주문한 상품의 재고 수량이 예상대로 변경되었는가?

=== 옵션
. 재고가 부족할 때 예상한 예외가 던져지는지 확인하는 테스트 메서드를 추가하세요. 예외가 던져지는 것을 AssertJ를 사용해 어셜션하는 방법은 인터넷으로 조사해 봅시다.

