Skip to content

Commit

Permalink
[Tech] Permettre de patch missionTypes sur MissionEntity
Browse files Browse the repository at this point in the history
  • Loading branch information
lwih committed Feb 12, 2025
1 parent 7b71561 commit e55dc62
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import java.time.ZonedDateTime

data class MissionEntity(
val id: Int? = null,
@Patchable
val missionTypes: List<MissionTypeEnum>,
val controlUnits: List<LegacyControlUnitEntity> = listOf(),
val openBy: String? = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ data class PatchableMissionEntity(
val observationsByUnit: Optional<String>?,
val startDateTimeUtc: ZonedDateTime?,
val endDateTimeUtc: Optional<ZonedDateTime>?,
val missionTypes: List<MissionTypeEnum>?,
)
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
package fr.gouv.cacem.monitorenv.infrastructure.api.adapters.publicapi.inputs

import fr.gouv.cacem.monitorenv.domain.entities.mission.PatchableMissionEntity
import fr.gouv.cacem.monitorenv.domain.entities.mission.MissionTypeEnum
import java.time.ZonedDateTime
import java.util.Optional

data class PatchableMissionDataInput(
val observationsByUnit: Optional<String>?,
val startDateTimeUtc: ZonedDateTime?,
val endDateTimeUtc: Optional<ZonedDateTime>?,
val missionTypes: List<MissionTypeEnum>?,
) {
fun toPatchableMissionEntity(): PatchableMissionEntity {
return PatchableMissionEntity(
observationsByUnit = observationsByUnit,
startDateTimeUtc = startDateTimeUtc,
endDateTimeUtc = endDateTimeUtc,
missionTypes = missionTypes
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import fr.gouv.cacem.monitorenv.domain.mappers.PatchEntity
import fr.gouv.cacem.monitorenv.domain.repositories.IMissionRepository
import fr.gouv.cacem.monitorenv.domain.use_cases.missions.dtos.MissionDetailsDTO
import fr.gouv.cacem.monitorenv.domain.use_cases.missions.fixtures.MissionFixture.Companion.aMissionEntity
import fr.gouv.cacem.monitorenv.domain.entities.mission.MissionTypeEnum
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.assertThrows
Expand Down Expand Up @@ -38,6 +39,7 @@ class PatchMissionUTest {
observationsByUnit = Optional.of(patchedObservationsByUnit),
startDateTimeUtc = today,
endDateTimeUtc = Optional.of(tomorrow),
missionTypes = listOf(MissionTypeEnum.LAND)
)
val missionFromDatabase = aMissionEntity(id = id)
val missionPatched =
Expand All @@ -46,6 +48,7 @@ class PatchMissionUTest {
observationsByUnit = patchedObservationsByUnit,
startDateTimeUtc = today,
endDateTimeUtc = tomorrow,
missionTypes = listOf(MissionTypeEnum.SEA)
)

given(missionRepository.findById(id)).willReturn(missionFromDatabase)
Expand All @@ -58,6 +61,7 @@ class PatchMissionUTest {
assertThat(savedMission.mission.observationsByUnit).isEqualTo(missionPatched.observationsByUnit)
assertThat(savedMission.mission.startDateTimeUtc).isEqualTo(missionPatched.startDateTimeUtc)
assertThat(savedMission.mission.endDateTimeUtc).isEqualTo(missionPatched.endDateTimeUtc)
assertThat(savedMission.mission.missionTypes).isEqualTo(missionPatched.missionTypes)
verify(missionRepository).save(missionPatched)
assertThat(log.out).contains("Attempt to PATCH mission $id")
assertThat(log.out).contains("Mission $id patched")
Expand All @@ -72,6 +76,7 @@ class PatchMissionUTest {
observationsByUnit = null,
startDateTimeUtc = null,
endDateTimeUtc = null,
missionTypes = null
)

given(missionRepository.findById(id)).willReturn(null)
Expand Down

0 comments on commit e55dc62

Please sign in to comment.