Sangwon Coding
Spring Boot - 테이블 테스트 본문
AdminUserRepositoryTest.java
package com.example.study.repository;
import com.example.study.StudyApplicationTests;
import com.example.study.model.entity.AdminUser;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.time.LocalDateTime;
public class AdminUserRepositoryTest extends StudyApplicationTests {
@Autowired
private AdminUserRepository adminUserRepository;
@Test
public void create(){
AdminUser adminUser = new AdminUser();
adminUser.setAccount("AdminUser01");
adminUser.setPassword("AdminUser01");
adminUser.setStatus("REGISTERED");
adminUser.setRole("PARTNER");
adminUser.setCreatedAt(LocalDateTime.now());
adminUser.setCreatedBy("AdminServer");
AdminUser newAdminUser = adminUserRepository.save(adminUser);
Assert.assertNotNull(newAdminUser);
}
}
CategoryRepositoryTest.java
package com.example.study.repository;
import com.example.study.StudyApplicationTests;
import com.example.study.model.entity.Category;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.time.LocalDateTime;
import java.util.Optional;
public class CategoryRepositoryTest extends StudyApplicationTests {
@Autowired
private CategoryRepository categoryRepository;
@Test
public void create(){
String type = "COMPUTER";
String title = "컴퓨터";
LocalDateTime createdAt = LocalDateTime.now();
String createdBy = "AdminServer";
Category category = new Category();
category.setType(type);
category.setTitle(title);
category.setCreatedAt(createdAt);
category.setCreatedBy(createdBy);
Category newCategory = categoryRepository.save(category);
Assert.assertNotNull(newCategory);
Assert.assertEquals(newCategory.getType(),type);
Assert.assertEquals(newCategory.getTitle(),title);
}
@Test
public void read(){
String type = "COMPUTER";
Optional<Category> optionalCategory = categoryRepository.findByType(type);
// select * from category where type = 'COMPUTER'
optionalCategory.ifPresent(c -> {
Assert.assertEquals(c.getType(), type);
System.out.println(c.getId());
System.out.println(c.getType());
System.out.println(c.getTitle());
});
}
}
ItemRepositoryTest.java
package com.example.study.repository;
import com.example.study.StudyApplicationTests;
import com.example.study.model.entity.Item;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.time.LocalDateTime;
import java.util.Optional;
public class ItemRepositoryTest extends StudyApplicationTests {
@Autowired
private ItemRepository itemRepository;
@Test
public void create(){
Item item = new Item();
item.setStatus("UNREGISTERED");
item.setName("삼성 노트북");
item.setTitle("삼성 노트북 A100");
item.setContent("2019년형 노트북 입니다");
item.setPrice(900000);
item.setBrandName("삼성");
item.setRegisteredAt(LocalDateTime.now());
item.setCreatedAt(LocalDateTime.now());
item.setCreatedBy("Partner01");
item.setPartnerId(1L);
Item newItem = itemRepository.save(item);
Assert.assertNotNull(newItem);
}
@Test
public void read(){
Long id = 1L;
Optional<Item> item = itemRepository.findById(id);
Assert.assertTrue(item.isPresent());
}
}
OrderDetailRepositoryTest.java
package com.example.study.repository;
import com.example.study.StudyApplicationTests;
import com.example.study.model.entity.OrderDetail;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.time.LocalDateTime;
public class OrderDetailRepositoryTest extends StudyApplicationTests {
@Autowired
private OrderDetailRepository orderDetailRepository;
@Test
public void create(){
OrderDetail orderDetail = new OrderDetail();
orderDetail.setStatus("WAITING");
orderDetail.setArrivalDate(LocalDateTime.now().plusDays(2));
orderDetail.setQuantity(1);
orderDetail.setTotalPrice(BigDecimal.valueOf(900000));
orderDetail.setOrderGroupId(1L);
orderDetail.setItemId(1L);
orderDetail.setCreatedAt(LocalDateTime.now());
orderDetail.setCreatedBy("AdminServer");
OrderDetail newOrderDetail = orderDetailRepository.save(orderDetail);
Assert.assertNotNull(newOrderDetail);
}
}
OrderGroupRepositoryTest.java
package com.example.study.repository;
import com.example.study.StudyApplicationTests;
import com.example.study.model.entity.OrderGroup;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.time.LocalDateTime;
public class OrderGroupRepositoryTest extends StudyApplicationTests {
@Autowired
private OrderGroupRepository orderGroupRepository;
@Test
public void create(){
OrderGroup orderGroup = new OrderGroup();
orderGroup.setStatus("COMPLETE");
orderGroup.setOrderType("CARD");
orderGroup.setRevAddress("서울시 강남구");
orderGroup.setRevName("홍길동");
orderGroup.setPaymentType("CARD");
orderGroup.setTotalPrice(BigDecimal.valueOf(900000));
orderGroup.setTotalQuantity(1);
orderGroup.setOrderAt(LocalDateTime.now().minusDays(2));
orderGroup.setArrivalDate(LocalDateTime.now());
orderGroup.setCreatedAt(LocalDateTime.now());
orderGroup.setCreatedBy("AdminServer");
orderGroup.setUserId(1L);
OrderGroup newOrderGroup = orderGroupRepository.save(orderGroup);
Assert.assertNotNull(newOrderGroup);
}
}
PartnerRepositoryTest.java
package com.example.study.repository;
import com.example.study.StudyApplicationTests;
import com.example.study.model.entity.Partner;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.time.LocalDateTime;
public class PartnerRepositoryTest extends StudyApplicationTests {
@Autowired
private PartnerRepository partnerRepository;
@Test
public void crate(){
String name = "Partner01";
String status = "REGISTERED";
String address = "서울시 강남구";
String callCenter = "070-1111-2222";
String partnerNumber = "010-1111-2222";
String businessNumber = "1234567890123";
String ceoName = "홍길동";
LocalDateTime registeredAt = LocalDateTime.now();
LocalDateTime createdAt = LocalDateTime.now();
String createdBy = "AdminServer";
Long categoryId = 1L;
Partner partner = new Partner();
partner.setName(name);
partner.setStatus(status);
partner.setAddress(address);
partner.setCallCenter(callCenter);
partner.setPartnerNumber(partnerNumber);
partner.setBusinessNumber(businessNumber);
partner.setCeoName(ceoName);
partner.setRegisteredAt(registeredAt);
partner.setCreatedAt(createdAt);
partner.setCreatedBy(createdBy);
partner.setCategoryId(categoryId);
Partner newPartner = partnerRepository.save(partner);
Assert.assertNotNull(newPartner);
Assert.assertEquals(newPartner.getName(), name);
}
@Test
public void read(){
}
}
UserRepositoryTest.java
package com.example.study.repository;
import com.example.study.StudyApplicationTests;
import com.example.study.model.entity.User;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import javax.transaction.Transactional;
import java.time.LocalDateTime;
import java.util.Optional;
public class UserRepositoryTest extends StudyApplicationTests {
// Dependency Injection (DI)
@Autowired
private UserRepository userRepository;
@Test
public void create(){
String account = "Test01";
String password = "Test01";
String status = "REGISTERED";
String email = "Test01@gmail.com";
String phoneNumber = "010-1111-2222";
LocalDateTime registeredAt = LocalDateTime.now();
LocalDateTime createdAt = LocalDateTime.now();
String createdBy = "AdminServer";
User user = new User();
user.setAccount(account);
user.setPassword(password);
user.setStatus(status);
user.setEmail(email);
user.setPhoneNumber(phoneNumber);
user.setRegisteredAt(registeredAt);
user.setCreatedAt(createdAt);
user.setCreatedBy(createdBy);
User newUser = userRepository.save(user);
Assert.assertNotNull(newUser);
}
@Test
@Transactional
public void read(){
User user = userRepository.findFirstByPhoneNumberOrderByIdDesc("010-1111-2222");
Assert.assertNotNull(user);
}
@Test
public void update(){
Optional<User> user = userRepository.findById(2L);
user.ifPresent(selectUser ->{
selectUser.setAccount("PPPP");
selectUser.setUpdatedAt(LocalDateTime.now());
selectUser.setUpdatedBy("update method()");
userRepository.save(selectUser);
});
}
@Test
@Transactional // 실제로 DB에서 삭제되지 않게함, 단지 Test 이기 때문
public void delete(){
Optional<User> user = userRepository.findById(2L);
Assert.assertTrue(user.isPresent()); // 반드시 위의 값이 존재해야함, true
user.ifPresent(selectUser->{
userRepository.delete(selectUser);
});
Optional<User> deleteUser = userRepository.findById(2L);
if(deleteUser.isPresent()){
System.out.println("데이터 존재 : " + deleteUser.get());
}else{
System.out.println("데이터 삭제 되었음");
}
Assert.assertFalse(deleteUser.isPresent()); // 위의 값이 존재하면 안됨, false
}
}
'Spring > Spring Boot (어드민 페이지)' 카테고리의 다른 글
Spring Boot - JPA의 추가기능 (Builder, Chain) (0) | 2019.12.06 |
---|---|
Spring Boot - 연관관계 설정 (0) | 2019.12.06 |
Spring Boot - Entity 및 Repository 설정 (0) | 2019.12.02 |
Spring Boot - 어드민 프로젝트를 위한 ERD 설계 (0) | 2019.11.22 |
Spring Boot - JPA 연관관계 설정 (1) | 2019.11.22 |
Comments