Skip to content

Commit c536e62

Browse files
committed
moved v2 tests to new file
1 parent 72bce2d commit c536e62

File tree

3 files changed

+76
-67
lines changed

3 files changed

+76
-67
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "Repo for staging/testing SpaceX-API transition from Ruby to Javascript (Node.js)",
55
"main": "server.js",
66
"scripts": {
7-
"test": "jest --forceExit && codecov && eslint \"**/*.js\"",
7+
"test": "PORT=0 jest --forceExit && codecov && eslint \"**/*.js\"",
88
"start": "node app.js",
99
"lint": "eslint \"**/*.js\""
1010
},

test/v1-all.test.js

Lines changed: 1 addition & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

2-
const app = require("../app")
32
const request = require("supertest")
3+
const app = require("../app")
44
const customMatchers = require("./utilities/custom-asymmetric-matchers")
55

66
beforeAll((done) => {
@@ -483,71 +483,6 @@ test("It should return all past RTLS launches", () => {
483483
})
484484
})
485485

486-
//------------------------------------------------------------
487-
// Past Launches V2
488-
//------------------------------------------------------------
489-
490-
test("It should return all past launches", () => {
491-
return request(app).get("/v2/launches").then(response => {
492-
expect(response.statusCode).toBe(200)
493-
response.body.forEach(item => {
494-
expect(item).toHaveProperty("flight_number", expect.anything())
495-
expect(item).toHaveProperty("launch_year", expect.stringMatching(/^[0-9]{4}$/))
496-
expect(item).toHaveProperty("launch_date_unix")
497-
expect(item).toHaveProperty("launch_date_utc", expect.anything())
498-
expect(item).toHaveProperty("launch_date_local", expect.anything())
499-
expect(item).toHaveProperty("rocket.rocket_id")
500-
expect(item).toHaveProperty("rocket.rocket_name")
501-
expect(item).toHaveProperty("rocket.rocket_type")
502-
expect(item.rocket.first_stage.cores.length).toBeGreaterThan(0)
503-
item.rocket.first_stage.cores.forEach(core => {
504-
expect(core).toHaveProperty("core_serial")
505-
expect(core).toHaveProperty("reused")
506-
expect(core).toHaveProperty("land_success")
507-
expect(core).toHaveProperty("landing_type")
508-
expect(core).toHaveProperty("landing_vehicle")
509-
})
510-
expect(item.rocket.second_stage.payloads.length).toBeGreaterThan(0)
511-
if (item.hasOwnProperty("cap_serial")) {
512-
item.rocket.second_stage.payloads.forEach(payload => {
513-
expect(payload).toHaveProperty("payload_id")
514-
expect(payload).toHaveProperty("reused")
515-
expect(payload).toHaveProperty("cap_serial")
516-
expect(payload.customers.length).toBeGreaterThan(0)
517-
expect(payload).toHaveProperty("payload_mass_kg")
518-
expect(payload).toHaveProperty("payload_mass_lbs")
519-
expect(payload).toHaveProperty("orbit")
520-
expect(payload).toHaveProperty("mass_returned_kg")
521-
expect(payload).toHaveProperty("mass_returned_lbs")
522-
expect(payload).toHaveProperty("flight_time_sec")
523-
expect(payload).toHaveProperty("cargo_manifest")
524-
})
525-
} else {
526-
item.rocket.second_stage.payloads.forEach(payload => {
527-
expect(payload).toHaveProperty("payload_id")
528-
expect(payload).toHaveProperty("reused")
529-
expect(payload.customers.length).toBeGreaterThan(0)
530-
expect(payload).toHaveProperty("payload_mass_kg")
531-
expect(payload).toHaveProperty("payload_mass_lbs")
532-
expect(payload).toHaveProperty("orbit")
533-
})
534-
}
535-
expect(item).toHaveProperty("telemetry.flight_club")
536-
expect(item).toHaveProperty("reuse.core")
537-
expect(item).toHaveProperty("reuse.side_core1")
538-
expect(item).toHaveProperty("reuse.side_core2")
539-
expect(item).toHaveProperty("reuse.fairings")
540-
expect(item).toHaveProperty("reuse.capsule")
541-
expect(item).toHaveProperty("launch_site.site_id")
542-
expect(item).toHaveProperty("launch_site.site_name")
543-
expect(item).toHaveProperty("launch_site.site_name_long")
544-
expect(item).toHaveProperty("launch_success")
545-
expect(item).toHaveProperty("links")
546-
expect(item).toHaveProperty("details")
547-
})
548-
})
549-
})
550-
551486
//------------------------------------------------------------
552487
// Upcoming Launches
553488
//------------------------------------------------------------

test/v2-all.test.js

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
2+
const request = require("supertest")
3+
const app = require("../app")
4+
5+
beforeAll((done) => {
6+
app.on("ready", () => {
7+
done()
8+
})
9+
})
10+
11+
//------------------------------------------------------------
12+
// Past Launches V2
13+
//------------------------------------------------------------
14+
15+
test("It should return all past launches", () => {
16+
return request(app.listen()).get("/v2/launches").then(response => {
17+
expect(response.statusCode).toBe(200)
18+
response.body.forEach(item => {
19+
expect(item).toHaveProperty("flight_number", expect.anything())
20+
expect(item).toHaveProperty("launch_year", expect.stringMatching(/^[0-9]{4}$/))
21+
expect(item).toHaveProperty("launch_date_unix")
22+
expect(item).toHaveProperty("launch_date_utc", expect.anything())
23+
expect(item).toHaveProperty("launch_date_local", expect.anything())
24+
expect(item).toHaveProperty("rocket.rocket_id")
25+
expect(item).toHaveProperty("rocket.rocket_name")
26+
expect(item).toHaveProperty("rocket.rocket_type")
27+
expect(item.rocket.first_stage.cores.length).toBeGreaterThan(0)
28+
item.rocket.first_stage.cores.forEach(core => {
29+
expect(core).toHaveProperty("core_serial")
30+
expect(core).toHaveProperty("reused")
31+
expect(core).toHaveProperty("land_success")
32+
expect(core).toHaveProperty("landing_type")
33+
expect(core).toHaveProperty("landing_vehicle")
34+
})
35+
expect(item.rocket.second_stage.payloads.length).toBeGreaterThan(0)
36+
if (item.hasOwnProperty("cap_serial")) {
37+
item.rocket.second_stage.payloads.forEach(payload => {
38+
expect(payload).toHaveProperty("payload_id")
39+
expect(payload).toHaveProperty("reused")
40+
expect(payload).toHaveProperty("cap_serial")
41+
expect(payload.customers.length).toBeGreaterThan(0)
42+
expect(payload).toHaveProperty("payload_mass_kg")
43+
expect(payload).toHaveProperty("payload_mass_lbs")
44+
expect(payload).toHaveProperty("orbit")
45+
expect(payload).toHaveProperty("mass_returned_kg")
46+
expect(payload).toHaveProperty("mass_returned_lbs")
47+
expect(payload).toHaveProperty("flight_time_sec")
48+
expect(payload).toHaveProperty("cargo_manifest")
49+
})
50+
} else {
51+
item.rocket.second_stage.payloads.forEach(payload => {
52+
expect(payload).toHaveProperty("payload_id")
53+
expect(payload).toHaveProperty("reused")
54+
expect(payload.customers.length).toBeGreaterThan(0)
55+
expect(payload).toHaveProperty("payload_mass_kg")
56+
expect(payload).toHaveProperty("payload_mass_lbs")
57+
expect(payload).toHaveProperty("orbit")
58+
})
59+
}
60+
expect(item).toHaveProperty("telemetry.flight_club")
61+
expect(item).toHaveProperty("reuse.core")
62+
expect(item).toHaveProperty("reuse.side_core1")
63+
expect(item).toHaveProperty("reuse.side_core2")
64+
expect(item).toHaveProperty("reuse.fairings")
65+
expect(item).toHaveProperty("reuse.capsule")
66+
expect(item).toHaveProperty("launch_site.site_id")
67+
expect(item).toHaveProperty("launch_site.site_name")
68+
expect(item).toHaveProperty("launch_site.site_name_long")
69+
expect(item).toHaveProperty("launch_success")
70+
expect(item).toHaveProperty("links")
71+
expect(item).toHaveProperty("details")
72+
})
73+
})
74+
})

0 commit comments

Comments
 (0)