package com.baiyue.common.event; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import org.junit.jupiter.api.Test; import java.time.Instant; import static org.assertj.core.api.Assertions.assertThat; class OverseasContainerUnloadedV1Test { private final ObjectMapper mapper = new ObjectMapper().registerModule(new JavaTimeModule()); @Test void payloadRoundTripsWithStableContainerIdAndUtcFacts() throws Exception { var payload = new OverseasContainerUnloadedV1("1001", "MSCU1234567", Instant.parse("2026-08-20T03:00:00Z"), Instant.parse("2026-08-20T02:30:00Z"), null); String json = mapper.writeValueAsString(payload); assertThat(mapper.readValue(json, OverseasContainerUnloadedV1.class)).isEqualTo(payload); assertThat(json).contains("sourceContainerBookingId", "1001", "MSCU1234567", "unloadingPhotoUploadedAt"); } }