27 lines
1.1 KiB
Java
27 lines
1.1 KiB
Java
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");
|
|
assertThat(payload.unloadingCompletedAt()).isAfter(payload.unloadingPhotoUploadedAt());
|
|
assertThat(payload.unloadingCompletedAt()).isNotEqualTo(payload.unloadingPhotoUploadedAt());
|
|
}
|
|
}
|