Skip to content

Commit 39a5cbe

Browse files
committed
Improving code coverage in application
1 parent f8e4cad commit 39a5cbe

File tree

1 file changed

+83
-0
lines changed
  • src/test/java/dev/luismachadoreis/flighttracker/server/ping/application/dto

1 file changed

+83
-0
lines changed

src/test/java/dev/luismachadoreis/flighttracker/server/ping/application/dto/PingDTOTest.java

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,87 @@ void shouldCreateNestedDTOs() {
8181
assertThat(position.latitude()).isEqualTo(20.0);
8282
assertThat(position.onGround()).isFalse();
8383
}
84+
85+
@Test
86+
void shouldConvertToFlightDataDTO() {
87+
// Given
88+
var id = UUID.randomUUID();
89+
var lastUpdate = Instant.now();
90+
var aircraft = new PingDTO.Aircraft(
91+
"ABC123",
92+
"FL123",
93+
"US",
94+
Instant.now(),
95+
"7700",
96+
true,
97+
new Integer[]{1, 2}
98+
);
99+
var vector = new PingDTO.Vector(500.0, 180.0, 0.0);
100+
var position = new PingDTO.Position(
101+
10.0,
102+
20.0,
103+
30000.0,
104+
29000.0,
105+
false,
106+
1,
107+
Instant.now()
108+
);
109+
var dto = new PingDTO(id, aircraft, vector, position, lastUpdate);
110+
111+
// When
112+
var flightDataDTO = dto.toFlightDataDTO();
113+
114+
// Then
115+
assertThat(flightDataDTO.icao24()).isEqualTo(aircraft.icao24());
116+
assertThat(flightDataDTO.callsign()).isEqualTo(aircraft.callsign());
117+
assertThat(flightDataDTO.originCountry()).isEqualTo(aircraft.originCountry());
118+
assertThat(flightDataDTO.timePosition()).isEqualTo(position.time().getEpochSecond());
119+
assertThat(flightDataDTO.lastContact()).isEqualTo(aircraft.lastContact().getEpochSecond());
120+
assertThat(flightDataDTO.longitude()).isEqualTo(position.longitude());
121+
assertThat(flightDataDTO.latitude()).isEqualTo(position.latitude());
122+
assertThat(flightDataDTO.baroAltitude()).isEqualTo(position.baroAltitude());
123+
assertThat(flightDataDTO.onGround()).isEqualTo(position.onGround());
124+
assertThat(flightDataDTO.velocity()).isEqualTo(vector.velocity());
125+
assertThat(flightDataDTO.trueTrack()).isEqualTo(vector.trueTrack());
126+
assertThat(flightDataDTO.verticalRate()).isEqualTo(vector.verticalRate());
127+
assertThat(flightDataDTO.sensors()).isEqualTo(aircraft.sensors());
128+
assertThat(flightDataDTO.geoAltitude()).isEqualTo(position.geoAltitude());
129+
assertThat(flightDataDTO.squawk()).isEqualTo(aircraft.squawk());
130+
assertThat(flightDataDTO.spi()).isEqualTo(aircraft.spi());
131+
assertThat(flightDataDTO.positionSource()).isEqualTo(position.source());
132+
}
133+
134+
@Test
135+
void shouldHandleNullTimestampsInFlightDataDTO() {
136+
// Given
137+
var id = UUID.randomUUID();
138+
var lastUpdate = Instant.now();
139+
var aircraft = new PingDTO.Aircraft(
140+
"ABC123",
141+
"FL123",
142+
"US",
143+
null,
144+
"7700",
145+
true,
146+
new Integer[]{1, 2}
147+
);
148+
var vector = new PingDTO.Vector(500.0, 180.0, 0.0);
149+
var position = new PingDTO.Position(
150+
10.0,
151+
20.0,
152+
30000.0,
153+
29000.0,
154+
false,
155+
1,
156+
null
157+
);
158+
var dto = new PingDTO(id, aircraft, vector, position, lastUpdate);
159+
160+
// When
161+
var flightDataDTO = dto.toFlightDataDTO();
162+
163+
// Then
164+
assertThat(flightDataDTO.lastContact()).isNull();
165+
assertThat(flightDataDTO.timePosition()).isNull();
166+
}
84167
}

0 commit comments

Comments
 (0)