chore: сохранение текущих изменений (deploy local-bundle/local-jar, request-service, slots UI markedObjectIds)
Безопасный коммит незакоммиченной работы перед реализацией бронирования слотов. Вне коммита оставлены: package-lock.json (пустой, мусор), requests.json (scratch-данные).
This commit is contained in:
+4
-1
@@ -67,7 +67,10 @@ data class CreateRequestDto(
|
||||
*/
|
||||
@field:DecimalMin(value = "0", inclusive = false)
|
||||
@field:DecimalMax("100")
|
||||
val coverageRequiredPercent: Double = 100.0,
|
||||
// Nullable с дефолтом: под Jackson 3 (MVC) FAIL_ON_NULL_FOR_PRIMITIVES включён по умолчанию,
|
||||
// и явный null от клиента падал бы на примитиве Double. Опциональное поле с дефолтом трактуем
|
||||
// null как «взять дефолт» — при маппинге в сущность коалесим к 100.0.
|
||||
val coverageRequiredPercent: Double? = 100.0,
|
||||
|
||||
/** Параметры оптической съемки. */
|
||||
@field:Valid
|
||||
|
||||
+1
-1
@@ -81,7 +81,7 @@ class RequestService(
|
||||
remainingArea = geometryArea,
|
||||
// Порог завершения по покрытию приходит из API (по умолчанию 100%); это прогресс съёмки,
|
||||
// в отличие от importance — важности заявки для карты приоритетов ячеек.
|
||||
coverageRequiredPercent = request.coverageRequiredPercent,
|
||||
coverageRequiredPercent = request.coverageRequiredPercent ?: 100.0,
|
||||
importance = importance,
|
||||
beginDateTime = request.beginDateTime,
|
||||
endDateTime = request.endDateTime,
|
||||
|
||||
+18
-1
@@ -112,6 +112,23 @@ class RequestServiceTest {
|
||||
assertEquals(80.0, persistedRequests.single().coverageRequiredPercent)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `create request coalesces null coverage required percent to default`() {
|
||||
val persistedRequests = mutableListOf<RequestEntity>()
|
||||
doReturn(false)
|
||||
.`when`(requestRepository)
|
||||
.existsById(REQUEST_ID)
|
||||
doAnswer { invocation ->
|
||||
persistedRequests += invocation.getArgument<RequestEntity>(0)
|
||||
null
|
||||
}.`when`(entityManager).persist(any(RequestEntity::class.java))
|
||||
|
||||
// Явный null (клиент прислал coverageRequiredPercent: null) трактуем как «взять дефолт».
|
||||
service.createRequest(createRequestDto(coverageRequiredPercent = null))
|
||||
|
||||
assertEquals(100.0, persistedRequests.single().coverageRequiredPercent)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `get request by id returns name and importance`() {
|
||||
val request = existingRequest()
|
||||
@@ -296,7 +313,7 @@ class RequestServiceTest {
|
||||
verify(requestCellRepository).deleteByRequestId(REQUEST_ID)
|
||||
}
|
||||
|
||||
private fun createRequestDto(coverageRequiredPercent: Double = 100.0): CreateRequestDto {
|
||||
private fun createRequestDto(coverageRequiredPercent: Double? = 100.0): CreateRequestDto {
|
||||
return CreateRequestDto(
|
||||
id = REQUEST_ID,
|
||||
name = REQUEST_NAME,
|
||||
|
||||
Reference in New Issue
Block a user