Skip to content
Snippets Groups Projects
Commit 5948ccea authored by 정 의찬's avatar 정 의찬
Browse files

add test

parent c9c88769
No related branches found
No related tags found
No related merge requests found
...@@ -11,5 +11,12 @@ import com.example.demo.entity.Item; ...@@ -11,5 +11,12 @@ import com.example.demo.entity.Item;
// @NoRepositoryBean // @NoRepositoryBean
public interface ItemRepository extends JpaRepository<Item, Long>{ public interface ItemRepository extends JpaRepository<Item, Long>{
List<Item> findByItemNm(String itemNm);
List<Item> findByItemNmOrItemDetail(String itemNm, String itemDetail);
List<Item> findByPriceLessThan(Integer price);
List<Item> findByPriceLessThanOrderByPriceDesc(Integer price);
@Query("select i from Item i where i.itemDetail like %:itemDetail% order by i.price desc")
List<Item> findByItemDetail(@Param("itemDetail") String itemDetail);
} }
...@@ -6,6 +6,8 @@ import org.springframework.boot.test.context.SpringBootTest; ...@@ -6,6 +6,8 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.TestPropertySource;
import com.example.demo.entity.Item; import com.example.demo.entity.Item;
import com.example.demo.entity.QItem; import com.example.demo.entity.QItem;
//import com.example.demo.entity.QItem;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
...@@ -26,20 +28,92 @@ public class ItemRepositoryTest { ...@@ -26,20 +28,92 @@ public class ItemRepositoryTest {
@Autowired @Autowired
ItemRepository itemRepository; ItemRepository itemRepository;
@PersistenceContext
EntityManager em;
public void createItemList(){
for (int i = 0; i <= 10; i++)
{
Item item = new Item();
item.setItemNm(("테스트 상품") + i);
item.setPrice(10000 + i);
item.setItemDetail("테스트 상품 상세 설명" + i);
item.setItemSellStatus(ItemSellStatus.SELL);
item.setStockNumber(100);
item.setRegTime(LocalDateTime.now());
item.setUpdateTime(LocalDateTime.now());
Item savedItem = itemRepository.save(item);
}
}
@Test
@DisplayName("상품명 조회 테스트")
public void findByItemNmTest() {
this.createItemList();
List<Item> itemList = itemRepository.findByItemNm("테스트 상품1");
for (Item item : itemList) {
System.out.println(item.toString());
}
}
@Test
@DisplayName("상품명, 상품상세 설명 OR 테스트")
public void findByItemNmOrItemDetailTest() {
this.createItemList();
List<Item> itemList = itemRepository.findByItemNmOrItemDetail("테스트 상품1", "테스트 상품 상세 설명5");
for (Item item : itemList) {
System.out.println(item.toString());
}
}
@Test @Test
@DisplayName("상품 저장 테스트") @DisplayName("가격 LessThan 테스트")
public void createItemTest(){ public void findByPriceLessThanTest() {
Item item = new Item(); this.createItemList();
item.setItemNm("테스트 상품"); List<Item> itemList = itemRepository.findByPriceLessThan(10005);
item.setPrice(100000); for (Item item : itemList) {
item.setItemDetail("테스트 상품 상세 설명"); System.out.println(item.toString());
item.setStockNumber(100); }
item.setRegTime(LocalDateTime.now()); }
item.setUpdateTime(LocalDateTime.now());
@Test
Item savedItem = itemRepository.save(item); @DisplayName("가격 내람차순 조회 테스트")
System.out.println(savedItem.toString()); public void findByPriceLessThanOrderByPriceDesc() {
this.createItemList();
List<Item> itemList = itemRepository.findByPriceLessThanOrderByPriceDesc(10005);
for (Item item : itemList) {
System.out.println(item.toString());
}
}
@Test
@DisplayName("@Query를 이용한 상품 조회 테스트")
public void findByItemDetailTest(){
this.createItemList();
List<Item> itemList = itemRepository.findByItemDetail("테스트 상품 상세 설명");
for(Item item : itemList){
System.out.println(item.toString());
}
}
@Test
@DisplayName("Querydsl 조회테스트1")
public void queryDslTest(){
this.createItemList();
JPAQueryFactory queryFactory = new JPAQueryFactory(em);
QItem qItem = QItem.item;
JPAQuery<Item> query = queryFactory.selectFrom(qItem)
.where(qItem.itemSellStatus.eq(ItemSellStatus.SELL))
.where(qItem.itemDetail.like("%" + "테스트 상품 상세 설명" + "%"))
.orderBy(qItem.price.desc());
List<Item> itemList = query.fetch();
for(Item item : itemList){
System.out.println(item.toString());
}
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment