Skip to content

[Tech] Permettre de patch missionTypes sur MissionEntity #2099

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading