#26 pharmacy: redis test

This commit is contained in:
haerong22
2023-01-06 00:59:01 +09:00
parent 03394386a4
commit 53c3e40ad4
2 changed files with 119 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
package com.example.road.pharmacy.cache
import com.example.road.AbstractIntegrationContainerBaseTest
import com.example.road.pharmacy.dto.PharmacyDto
import org.springframework.beans.factory.annotation.Autowired
class PharmacyRedisTemplateServiceTest extends AbstractIntegrationContainerBaseTest {
@Autowired
private PharmacyRedisTemplateService pharmacyRedisTemplateService
def setup() {
pharmacyRedisTemplateService.findAll()
.forEach(dto -> {
pharmacyRedisTemplateService.delete(dto.getId())
})
}
def "save success"() {
given:
String pharmacyName = "name"
String pharmacyAddress = "address"
PharmacyDto dto =
PharmacyDto.builder()
.id(1L)
.pharmacyName(pharmacyName)
.pharmacyAddress(pharmacyAddress)
.build()
when:
pharmacyRedisTemplateService.save(dto)
List<PharmacyDto> result = pharmacyRedisTemplateService.findAll()
then:
result.size() == 1
result.get(0).id == 1L
result.get(0).pharmacyName == pharmacyName
result.get(0).pharmacyAddress == pharmacyAddress
}
def "success fail"() {
given:
PharmacyDto dto =
PharmacyDto.builder()
.build()
when:
pharmacyRedisTemplateService.save(dto)
List<PharmacyDto> result = pharmacyRedisTemplateService.findAll()
then:
result.size() == 0
}
def "delete"() {
given:
String pharmacyName = "name"
String pharmacyAddress = "address"
PharmacyDto dto =
PharmacyDto.builder()
.id(1L)
.pharmacyName(pharmacyName)
.pharmacyAddress(pharmacyAddress)
.build()
when:
pharmacyRedisTemplateService.save(dto)
pharmacyRedisTemplateService.delete(dto.getId())
def result = pharmacyRedisTemplateService.findAll()
then:
result.size() == 0
}
}

View File

@@ -0,0 +1,45 @@
package com.example.road.pharmacy.service
import com.example.road.pharmacy.cache.PharmacyRedisTemplateService
import com.example.road.pharmacy.entity.Pharmacy
import org.assertj.core.util.Lists
import spock.lang.Specification
class PharmacySearchServiceTest extends Specification {
private PharmacySearchService pharmacySearchService
private PharmacyRepositoryService pharmacyRepositoryService = Mock()
private PharmacyRedisTemplateService pharmacyRedisTemplateService = Mock()
private List<Pharmacy> pharmacyList
def setup() {
pharmacySearchService = new PharmacySearchService(pharmacyRepositoryService, pharmacyRedisTemplateService)
pharmacyList = Lists.newArrayList(
Pharmacy.builder()
.id(1L)
.pharmacyName("호수온누리약국")
.latitude(37.60894036)
.longitude(127.029052)
.build(),
Pharmacy.builder()
.id(2L)
.pharmacyName("돌곶이온누리약국")
.latitude(37.61040424)
.longitude(127.0569046)
.build())
}
def "레디스 장애시 DB를 이용하여 약국 데이터 조회"() {
when:
pharmacyRedisTemplateService.findAll() >> []
pharmacyRepositoryService.findAll() >> pharmacyList
def result = pharmacySearchService.searchPharmacyDtoList()
then:
result.size() == 2
}
}