Skip to content

Commit 54a4a99

Browse files
committed
sort rocket data by launch date instead of rocket id
1 parent a6ead7c commit 54a4a99

File tree

3 files changed

+14
-21
lines changed

3 files changed

+14
-21
lines changed

src/controllers/rockets.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module.exports = {
99
.collection('rocket')
1010
.find({})
1111
.project({ _id: 0 })
12-
.sort({ id: 1 })
12+
.sort({ first_flight: 1 })
1313
.toArray();
1414
ctx.body = data;
1515
},

test/routes/v2-rockets.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@ beforeAll((done) => {
1616
test('It should return all rocket info', async () => {
1717
const response = await request(app.callback()).get('/v2/rockets');
1818
expect(response.statusCode).toBe(200);
19-
expect(response.body).toHaveLength(3);
19+
expect(response.body).toHaveLength(4);
2020
expect(response.body[0]).toHaveProperty('name', 'Falcon 1');
2121
expect(response.body[1]).toHaveProperty('name', 'Falcon 9');
2222
expect(response.body[2]).toHaveProperty('name', 'Falcon Heavy');
23+
expect(response.body[3]).toHaveProperty('name', 'Big Falcon Rocket');
2324

2425
response.body.forEach((item) => {
2526
expect(item).toHaveProperty('id', expect.any(String));

test/utilities/custom-asymmetric-matchers.js

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,8 @@ class SpacexVolume extends SpacexComposite {
3434
if (!super.asymmetricMatch(any)) {
3535
return false;
3636
}
37-
expect(any).toHaveProperty('cubic_meters', expect.any(Number));
38-
expect(any).toHaveProperty('cubic_feet', expect.any(Number));
39-
expect(any.cubic_meters).toBeGreaterThanOrEqual(0);
40-
expect(any.cubic_feet).toBeGreaterThanOrEqual(0);
37+
expect(any).toHaveProperty('cubic_meters');
38+
expect(any).toHaveProperty('cubic_feet');
4139
return true;
4240
}
4341

@@ -54,10 +52,8 @@ class SpacexLength extends SpacexComposite {
5452
if (!super.asymmetricMatch(any)) {
5553
return false;
5654
}
57-
expect(any).toHaveProperty('meters', expect.any(Number));
58-
expect(any).toHaveProperty('feet', expect.any(Number));
59-
expect(any.meters).toBeGreaterThanOrEqual(0);
60-
expect(any.feet).toBeGreaterThanOrEqual(0);
55+
expect(any).toHaveProperty('meters');
56+
expect(any).toHaveProperty('feet');
6157
return true;
6258
}
6359

@@ -74,10 +70,8 @@ class SpacexMass extends SpacexComposite {
7470
if (!super.asymmetricMatch(any)) {
7571
return false;
7672
}
77-
expect(any).toHaveProperty('kg', expect.any(Number));
78-
expect(any).toHaveProperty('lb', expect.any(Number));
79-
expect(any.kg).toBeGreaterThanOrEqual(0);
80-
expect(any.lb).toBeGreaterThanOrEqual(0);
73+
expect(any).toHaveProperty('kg');
74+
expect(any).toHaveProperty('lb');
8175
return true;
8276
}
8377

@@ -94,10 +88,8 @@ class SpacexThrust extends SpacexComposite {
9488
if (!super.asymmetricMatch(any)) {
9589
return false;
9690
}
97-
expect(any).toHaveProperty('kN', expect.any(Number));
98-
expect(any).toHaveProperty('lbf', expect.any(Number));
99-
expect(any.kN).toBeGreaterThanOrEqual(0);
100-
expect(any.lbf).toBeGreaterThanOrEqual(0);
91+
expect(any).toHaveProperty('kN');
92+
expect(any).toHaveProperty('lbf');
10193
return true;
10294
}
10395

@@ -114,8 +106,8 @@ class SpacexPayloadWeight extends SpacexComposite {
114106
if (!super.asymmetricMatch(any)) {
115107
return false;
116108
}
117-
expect(any).toHaveProperty('id', expect.any(String));
118-
expect(any).toHaveProperty('name', expect.any(String));
109+
expect(any).toHaveProperty('id');
110+
expect(any).toHaveProperty('name');
119111
expect(any).toEqual(new SpacexMass());
120112
return true;
121113
}
@@ -136,7 +128,7 @@ class SpacexVehicleStage extends SpacexComposite {
136128
// expect(any).toHaveProperty('reusable', expect.any(Boolean))
137129
// expect(any).toHaveProperty('engines', expect.any(String))
138130
// expect(any).toHaveProperty('fuel_amount_tons', expect.any(Number))
139-
expect(any).toHaveProperty('burn_time_sec', expect.any(Number));
131+
expect(any).toHaveProperty('burn_time_sec');
140132
// expect(any).toHaveProperty('thrust_sea_level', new SpacexThrust())
141133
// expect(any).toHaveProperty('thrust_vacuum', new SpacexThrust())
142134
// expect(any).toHaveProperty('payloads', expect.any(String)) //

0 commit comments

Comments
 (0)