Skip to content

Commit 15cc26b

Browse files
committed
Move upcoming launches test into launches tests with all and previous launches
1 parent 6f05b62 commit 15cc26b

File tree

2 files changed

+90
-99
lines changed

2 files changed

+90
-99
lines changed

test/routes/v2-launches.test.js

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,96 @@ test('It should return the next launch', async () => {
116116
expect(response.statusCode).toBe(200);
117117
});
118118

119+
//------------------------------------------------------------
120+
// Upcoming Launches
121+
//------------------------------------------------------------
122+
123+
test('It should return all upcoming launches', async () => {
124+
const response = await request(app.callback()).get('/v2/launches/upcoming');
125+
expect(response.statusCode).toBe(200);
126+
response.body.forEach((item) => {
127+
expect(item).toHaveProperty('flight_number', expect.anything());
128+
expect(item).toHaveProperty('mission_name', expect.anything());
129+
expect(item).toHaveProperty('launch_year');
130+
expect(item).toHaveProperty('launch_date_unix');
131+
expect(item).toHaveProperty('launch_date_utc');
132+
expect(item).toHaveProperty('launch_date_local');
133+
expect(item).toHaveProperty('rocket.rocket_id');
134+
expect(item).toHaveProperty('rocket.rocket_name');
135+
expect(item).toHaveProperty('rocket.rocket_type');
136+
expect(item.rocket.first_stage.cores.length).toBeGreaterThan(0);
137+
item.rocket.first_stage.cores.forEach((core) => {
138+
expect(core).toHaveProperty('core_serial');
139+
expect(core).toHaveProperty('flight');
140+
expect(core).toHaveProperty('block');
141+
expect(core).toHaveProperty('reused');
142+
expect(core).toHaveProperty('land_success');
143+
expect(core).toHaveProperty('landing_type');
144+
expect(core).toHaveProperty('landing_vehicle');
145+
});
146+
expect(item.rocket.second_stage).toHaveProperty('block');
147+
expect(item.rocket.second_stage.payloads.length).toBeGreaterThan(0);
148+
if (item.hasOwnProperty.call('cap_serial')) {
149+
item.rocket.second_stage.payloads.forEach((payload) => {
150+
expect(payload).toHaveProperty('payload_id');
151+
expect(payload).toHaveProperty('reused');
152+
expect(payload).toHaveProperty('cap_serial');
153+
expect(payload.customers.length).toBeGreaterThan(0);
154+
expect(payload).toHaveProperty('payload_mass_kg');
155+
expect(payload).toHaveProperty('payload_mass_lbs');
156+
expect(payload).toHaveProperty('orbit');
157+
expect(payload).toHaveProperty('orbit_params');
158+
expect(payload).toHaveProperty('orbit_params.reference_system');
159+
expect(payload).toHaveProperty('orbit_params.regime');
160+
expect(payload).toHaveProperty('orbit_params.longitude');
161+
expect(payload).toHaveProperty('orbit_params.semi_major_axis_km');
162+
expect(payload).toHaveProperty('orbit_params.eccentricity');
163+
expect(payload).toHaveProperty('orbit_params.periapsis_km');
164+
expect(payload).toHaveProperty('orbit_params.apoapsis_km');
165+
expect(payload).toHaveProperty('orbit_params.inclination_deg');
166+
expect(payload).toHaveProperty('orbit_params.period_min');
167+
expect(payload).toHaveProperty('orbit_params.lifespan_years');
168+
expect(payload).toHaveProperty('mass_returned_kg');
169+
expect(payload).toHaveProperty('mass_returned_lbs');
170+
expect(payload).toHaveProperty('flight_time_sec');
171+
expect(payload).toHaveProperty('cargo_manifest');
172+
});
173+
} else {
174+
item.rocket.second_stage.payloads.forEach((payload) => {
175+
expect(payload).toHaveProperty('payload_id');
176+
expect(payload).toHaveProperty('reused');
177+
expect(payload.customers.length).toBeGreaterThan(0);
178+
expect(payload).toHaveProperty('payload_mass_kg');
179+
expect(payload).toHaveProperty('payload_mass_lbs');
180+
expect(payload).toHaveProperty('orbit');
181+
expect(payload).toHaveProperty('orbit_params');
182+
expect(payload).toHaveProperty('orbit_params.reference_system');
183+
expect(payload).toHaveProperty('orbit_params.regime');
184+
expect(payload).toHaveProperty('orbit_params.longitude');
185+
expect(payload).toHaveProperty('orbit_params.semi_major_axis_km');
186+
expect(payload).toHaveProperty('orbit_params.eccentricity');
187+
expect(payload).toHaveProperty('orbit_params.periapsis_km');
188+
expect(payload).toHaveProperty('orbit_params.apoapsis_km');
189+
expect(payload).toHaveProperty('orbit_params.inclination_deg');
190+
expect(payload).toHaveProperty('orbit_params.period_min');
191+
expect(payload).toHaveProperty('orbit_params.lifespan_years');
192+
});
193+
}
194+
expect(item).toHaveProperty('telemetry.flight_club');
195+
expect(item).toHaveProperty('reuse.core');
196+
expect(item).toHaveProperty('reuse.side_core1');
197+
expect(item).toHaveProperty('reuse.side_core2');
198+
expect(item).toHaveProperty('reuse.fairings');
199+
expect(item).toHaveProperty('reuse.capsule');
200+
expect(item).toHaveProperty('launch_site.site_id');
201+
expect(item).toHaveProperty('launch_site.site_name');
202+
expect(item).toHaveProperty('launch_site.site_name_long');
203+
expect(item).toHaveProperty('launch_success');
204+
expect(item).toHaveProperty('links');
205+
expect(item).toHaveProperty('details');
206+
});
207+
});
208+
119209
//------------------------------------------------------------
120210
// All Launches
121211
//------------------------------------------------------------

test/routes/v2-upcoming.test.js

Lines changed: 0 additions & 99 deletions
This file was deleted.

0 commit comments

Comments
 (0)