@@ -9,26 +9,26 @@ beforeAll((done) => {
99} ) ;
1010
1111//------------------------------------------------------------
12- // Past Launches
12+ // All Launches
1313//------------------------------------------------------------
1414
15- test ( 'It should return all past launches' , async ( ) => {
16- const response = await request ( app . callback ( ) ) . get ( '/v2/launches' ) ;
15+ test ( 'It should return all launches' , async ( ) => {
16+ const response = await request ( app . callback ( ) ) . get ( '/v2/launches/all ' ) ;
1717 expect ( response . statusCode ) . toBe ( 200 ) ;
1818 response . body . forEach ( ( item ) => {
1919 expect ( item ) . toHaveProperty ( 'flight_number' , expect . anything ( ) ) ;
20- expect ( item ) . toHaveProperty ( 'mission_name' , expect . anything ( ) ) ;
20+ expect ( item ) . toHaveProperty ( 'mission_name' ) ;
2121 expect ( item ) . toHaveProperty ( 'launch_year' , expect . stringMatching ( / ^ [ 0 - 9 ] { 4 } $ / ) ) ;
2222 expect ( item ) . toHaveProperty ( 'launch_date_unix' ) ;
23- expect ( item ) . toHaveProperty ( 'launch_date_utc' , expect . anything ( ) ) ;
24- expect ( item ) . toHaveProperty ( 'launch_date_local' , expect . anything ( ) ) ;
23+ expect ( item ) . toHaveProperty ( 'launch_date_utc' ) ;
24+ expect ( item ) . toHaveProperty ( 'launch_date_local' ) ;
2525 expect ( item ) . toHaveProperty ( 'rocket.rocket_id' ) ;
2626 expect ( item ) . toHaveProperty ( 'rocket.rocket_name' ) ;
2727 expect ( item ) . toHaveProperty ( 'rocket.rocket_type' ) ;
2828 expect ( item . rocket . first_stage . cores . length ) . toBeGreaterThan ( 0 ) ;
2929 item . rocket . first_stage . cores . forEach ( ( core ) => {
3030 expect ( core ) . toHaveProperty ( 'core_serial' ) ;
31- expect ( core ) . toHaveProperty ( 'flight' , expect . any ( Number ) ) ;
31+ expect ( core ) . toHaveProperty ( 'flight' ) ;
3232 expect ( core ) . toHaveProperty ( 'block' ) ;
3333 expect ( core ) . toHaveProperty ( 'reused' ) ;
3434 expect ( core ) . toHaveProperty ( 'land_success' ) ;
@@ -115,183 +115,3 @@ test('It should return the next launch', async () => {
115115 const response = await request ( app . callback ( ) ) . get ( '/v2/launches/next' ) ;
116116 expect ( response . statusCode ) . toBe ( 200 ) ;
117117} ) ;
118-
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-
209- //------------------------------------------------------------
210- // All Launches
211- //------------------------------------------------------------
212-
213- test ( 'It should return a specific Launch info' , async ( ) => {
214- const response = await request ( app . callback ( ) ) . get ( '/v2/launches/all' ) ;
215- expect ( response . statusCode ) . toBe ( 200 ) ;
216- response . body . forEach ( ( item ) => {
217- expect ( item ) . toHaveProperty ( 'flight_number' , expect . anything ( ) ) ;
218- // expect(item).toHaveProperty('mission_name', expect.anything());
219- expect ( item ) . toHaveProperty ( 'launch_year' , expect . stringMatching ( / ^ [ 0 - 9 ] { 4 } $ / ) ) ;
220- expect ( item ) . toHaveProperty ( 'launch_date_unix' ) ;
221- expect ( item ) . toHaveProperty ( 'launch_date_utc' ) ;
222- expect ( item ) . toHaveProperty ( 'launch_date_local' ) ;
223- expect ( item ) . toHaveProperty ( 'rocket.rocket_id' ) ;
224- expect ( item ) . toHaveProperty ( 'rocket.rocket_name' ) ;
225- expect ( item ) . toHaveProperty ( 'rocket.rocket_type' ) ;
226- expect ( item . rocket . first_stage . cores . length ) . toBeGreaterThan ( 0 ) ;
227- item . rocket . first_stage . cores . forEach ( ( core ) => {
228- expect ( core ) . toHaveProperty ( 'core_serial' ) ;
229- expect ( core ) . toHaveProperty ( 'flight' ) ;
230- expect ( core ) . toHaveProperty ( 'block' ) ;
231- expect ( core ) . toHaveProperty ( 'reused' ) ;
232- expect ( core ) . toHaveProperty ( 'land_success' ) ;
233- expect ( core ) . toHaveProperty ( 'landing_type' ) ;
234- expect ( core ) . toHaveProperty ( 'landing_vehicle' ) ;
235- } ) ;
236- expect ( item . rocket . second_stage ) . toHaveProperty ( 'block' ) ;
237- expect ( item . rocket . second_stage . payloads . length ) . toBeGreaterThan ( 0 ) ;
238- if ( item . hasOwnProperty . call ( 'cap_serial' ) ) {
239- item . rocket . second_stage . payloads . forEach ( ( payload ) => {
240- expect ( payload ) . toHaveProperty ( 'payload_id' ) ;
241- expect ( payload ) . toHaveProperty ( 'reused' ) ;
242- expect ( payload ) . toHaveProperty ( 'cap_serial' ) ;
243- expect ( payload . customers . length ) . toBeGreaterThan ( 0 ) ;
244- expect ( payload ) . toHaveProperty ( 'payload_mass_kg' ) ;
245- expect ( payload ) . toHaveProperty ( 'payload_mass_lbs' ) ;
246- expect ( payload ) . toHaveProperty ( 'orbit' ) ;
247- expect ( payload ) . toHaveProperty ( 'orbit_params' ) ;
248- expect ( payload ) . toHaveProperty ( 'orbit_params.reference_system' ) ;
249- expect ( payload ) . toHaveProperty ( 'orbit_params.regime' ) ;
250- expect ( payload ) . toHaveProperty ( 'orbit_params.longitude' ) ;
251- expect ( payload ) . toHaveProperty ( 'orbit_params.semi_major_axis_km' ) ;
252- expect ( payload ) . toHaveProperty ( 'orbit_params.eccentricity' ) ;
253- expect ( payload ) . toHaveProperty ( 'orbit_params.periapsis_km' ) ;
254- expect ( payload ) . toHaveProperty ( 'orbit_params.apoapsis_km' ) ;
255- expect ( payload ) . toHaveProperty ( 'orbit_params.inclination_deg' ) ;
256- expect ( payload ) . toHaveProperty ( 'orbit_params.period_min' ) ;
257- expect ( payload ) . toHaveProperty ( 'orbit_params.lifespan_years' ) ;
258- expect ( payload ) . toHaveProperty ( 'mass_returned_kg' ) ;
259- expect ( payload ) . toHaveProperty ( 'mass_returned_lbs' ) ;
260- expect ( payload ) . toHaveProperty ( 'flight_time_sec' ) ;
261- expect ( payload ) . toHaveProperty ( 'cargo_manifest' ) ;
262- } ) ;
263- } else {
264- item . rocket . second_stage . payloads . forEach ( ( payload ) => {
265- expect ( payload ) . toHaveProperty ( 'payload_id' ) ;
266- expect ( payload ) . toHaveProperty ( 'reused' ) ;
267- expect ( payload . customers . length ) . toBeGreaterThan ( 0 ) ;
268- expect ( payload ) . toHaveProperty ( 'payload_mass_kg' ) ;
269- expect ( payload ) . toHaveProperty ( 'payload_mass_lbs' ) ;
270- expect ( payload ) . toHaveProperty ( 'orbit' ) ;
271- expect ( payload ) . toHaveProperty ( 'orbit_params' ) ;
272- expect ( payload ) . toHaveProperty ( 'orbit_params.reference_system' ) ;
273- expect ( payload ) . toHaveProperty ( 'orbit_params.regime' ) ;
274- expect ( payload ) . toHaveProperty ( 'orbit_params.longitude' ) ;
275- expect ( payload ) . toHaveProperty ( 'orbit_params.semi_major_axis_km' ) ;
276- expect ( payload ) . toHaveProperty ( 'orbit_params.eccentricity' ) ;
277- expect ( payload ) . toHaveProperty ( 'orbit_params.periapsis_km' ) ;
278- expect ( payload ) . toHaveProperty ( 'orbit_params.apoapsis_km' ) ;
279- expect ( payload ) . toHaveProperty ( 'orbit_params.inclination_deg' ) ;
280- expect ( payload ) . toHaveProperty ( 'orbit_params.period_min' ) ;
281- expect ( payload ) . toHaveProperty ( 'orbit_params.lifespan_years' ) ;
282- } ) ;
283- }
284- expect ( item ) . toHaveProperty ( 'telemetry.flight_club' ) ;
285- expect ( item ) . toHaveProperty ( 'reuse.core' ) ;
286- expect ( item ) . toHaveProperty ( 'reuse.side_core1' ) ;
287- expect ( item ) . toHaveProperty ( 'reuse.side_core2' ) ;
288- expect ( item ) . toHaveProperty ( 'reuse.fairings' ) ;
289- expect ( item ) . toHaveProperty ( 'reuse.capsule' ) ;
290- expect ( item ) . toHaveProperty ( 'launch_site.site_id' ) ;
291- expect ( item ) . toHaveProperty ( 'launch_site.site_name' ) ;
292- expect ( item ) . toHaveProperty ( 'launch_site.site_name_long' ) ;
293- expect ( item ) . toHaveProperty ( 'launch_success' ) ;
294- expect ( item ) . toHaveProperty ( 'links' ) ;
295- expect ( item ) . toHaveProperty ( 'details' ) ;
296- } ) ;
297- } ) ;
0 commit comments