diff --git a/src/main/kotlin/upbrella/be/rent/service/ConditionReportService.kt b/src/main/kotlin/upbrella/be/rent/service/ConditionReportService.kt index c55d1567..521a89dc 100644 --- a/src/main/kotlin/upbrella/be/rent/service/ConditionReportService.kt +++ b/src/main/kotlin/upbrella/be/rent/service/ConditionReportService.kt @@ -15,7 +15,9 @@ class ConditionReportService( ConditionReportPageResponse.of(findAllConditionReport()) fun saveConditionReport(conditionReport: ConditionReport) { - conditionReportRepository.save(conditionReport) + conditionReport.content + ?.takeIf { it.isNotBlank() } + ?.let { conditionReportRepository.save(conditionReport) } } private fun findAllConditionReport(): List = diff --git a/src/main/kotlin/upbrella/be/rent/service/ImprovementReportService.kt b/src/main/kotlin/upbrella/be/rent/service/ImprovementReportService.kt index e991ec4d..0139a1e7 100644 --- a/src/main/kotlin/upbrella/be/rent/service/ImprovementReportService.kt +++ b/src/main/kotlin/upbrella/be/rent/service/ImprovementReportService.kt @@ -15,8 +15,9 @@ class ImprovementReportService( ImprovementReportPageResponse.of(findAllImprovementReport()) fun save(improvementReport: ImprovementReport) { - - improvementReportRepository.save(improvementReport) + improvementReport.content + ?.takeIf { it.isNotBlank() } + ?.let { improvementReportRepository.save(improvementReport) } } private fun findAllImprovementReport(): List = diff --git a/src/test/kotlin/upbrella/be/rent/service/ConditionReportServiceTest.kt b/src/test/kotlin/upbrella/be/rent/service/ConditionReportServiceTest.kt index abf5520a..fde8744b 100644 --- a/src/test/kotlin/upbrella/be/rent/service/ConditionReportServiceTest.kt +++ b/src/test/kotlin/upbrella/be/rent/service/ConditionReportServiceTest.kt @@ -12,6 +12,7 @@ import org.mockito.BDDMockito.then import org.mockito.InjectMocks import org.mockito.Mock import org.mockito.Mockito.times +import org.mockito.ArgumentMatchers.any import org.mockito.junit.jupiter.MockitoExtension import upbrella.be.rent.dto.response.ConditionReportPageResponse import upbrella.be.rent.dto.response.ConditionReportResponse @@ -122,4 +123,22 @@ class ConditionReportServiceTest { ) } } + + @Nested + @DisplayName("상태 신고 내용이 없으면 저장하지 않는다") + inner class SaveConditionReportTest { + + @Test + @DisplayName("빈 내용일 경우 레포지토리에 저장하지 않는다") + fun doNotSaveWhenContentBlank() { + // given + val blankReport = ConditionReport(history = history, content = " ") + + // when + conditionReportService.saveConditionReport(blankReport) + + // then + then(conditionReportRepository).should(times(0)).save(any(ConditionReport::class.java)) + } + } } diff --git a/src/test/kotlin/upbrella/be/rent/service/ImprovementReportServiceTest.kt b/src/test/kotlin/upbrella/be/rent/service/ImprovementReportServiceTest.kt new file mode 100644 index 00000000..b3db8c1f --- /dev/null +++ b/src/test/kotlin/upbrella/be/rent/service/ImprovementReportServiceTest.kt @@ -0,0 +1,68 @@ +package upbrella.be.rent.service + +import org.junit.jupiter.api.BeforeEach +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.ExtendWith +import org.mockito.BDDMockito.then +import org.mockito.InjectMocks +import org.mockito.Mock +import org.mockito.Mockito.times +import org.mockito.ArgumentMatchers.any +import org.mockito.junit.jupiter.MockitoExtension +import upbrella.be.rent.entity.ImprovementReport +import upbrella.be.rent.repository.ImprovementReportRepository +import upbrella.be.rent.entity.History +import upbrella.be.store.entity.StoreMeta +import upbrella.be.umbrella.entity.Umbrella +import upbrella.be.user.entity.User +import java.time.LocalDateTime + +@ExtendWith(MockitoExtension::class) +class ImprovementReportServiceTest { + + @Mock + private lateinit var improvementReportRepository: ImprovementReportRepository + + @InjectMocks + private lateinit var improvementReportService: ImprovementReportService + + private lateinit var history: History + + @BeforeEach + fun setUp() { + val storeMeta = StoreMeta( + name = "store", + activated = false, + category = "cat", + ) + val umbrella = Umbrella( + storeMeta = storeMeta, + uuid = 1L, + rentable = true, + deleted = false, + createdAt = LocalDateTime.now(), + etc = null, + missed = false, + ) + val user = User(0L, "name", "010", "email", false, null, null, 1L) + history = History( + umbrella = umbrella, + user = user, + rentStoreMeta = storeMeta, + ) + } + + @Test + @DisplayName("빈 내용일 경우 레포지토리에 저장하지 않는다") + fun doNotSaveWhenContentBlank() { + // given + val blankReport = ImprovementReport(history = history, content = " ") + + // when + improvementReportService.save(blankReport) + + // then + then(improvementReportRepository).should(times(0)).save(any(ImprovementReport::class.java)) + } +}