/
LegacyCarFactoryServiceTest.kt
42 lines (30 loc) · 1.23 KB
/
LegacyCarFactoryServiceTest.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.traeper.car_factory.legacy.domain.car
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest
@DataJpaTest
class LegacyCarFactoryServiceTest {
private lateinit var carFactoryService: LegacyCarFactoryService
@Autowired
private lateinit var carRepository: LegacyCarRepository
@Autowired
private lateinit var wheelRepository: LegacyWheelRepository
@BeforeEach
fun setUp() {
carFactoryService = LegacyCarFactoryService(carRepository, wheelRepository)
}
@Test
fun `legacy - create & delete car - test`() {
carFactoryService.createCar()
val wheels = wheelRepository.findAll()
assertThat(wheels).hasSize(4)
val car = carRepository.findWithWheelsById(1)!!
// car 삭제하기 전 wheel을 삭제해줘야 FK constraints 오류에 걸리지 않음.
wheelRepository.deleteAll()
carRepository.delete(car)
// Transactional이 걸려있는 테스트에서 delete query를 실행시키기 위함
carRepository.findAll()
}
}