Item Entity Test를 하던 중 status 기본값인 "PENDING"이 조회되어야하는데 null이 조회된다.

@SpringBootTest
class ItemTest {
@Autowired
private ItemRepository itemRepository;
@Autowired
private UserRepository userRepository;
private User owner;
private User manager;
@BeforeEach
void setUp() {
owner = userRepository.save(new User("user", "test@email.com", "nickname", "1234"));
manager = userRepository.save(new User("admin", "admin@email.com", "admin", "1234"));
}
@Test
void testGetStatus() {
//when
Item item = new Item("item", "description", manager, owner);
Item savedItem = itemRepository.save(item);
//then
assertThat(savedItem.getStatus()).isEqualTo("PENDING");
}
assertThat(savedItem.getStatus()).isEqualTo("PENDING");에 브레이크 코드를 찍고 디버그 실행 시 savedItem의 status = null이고 findById로 조회 시 status = "PENDING"이다.

따라서 findById로 조회하는 과정이 더 필요한 것을 알 수 있다.
@Test
void testGetStatus() {
//when
Item item = new Item("item", "description", manager, owner);
Item savedItem = itemRepository.save(item);
Item itemById = itemRepository.findById(savedItem.getId()).orElse(null);
//then
assertThat(itemById).isNotNull();
assertThat(itemById.getStatus()).isEqualTo("PENDING");
}
위와 같이 코드를 수정한다.

테스트가 정상적으로 작동하는 것을 볼 수 있다.