Skip to content

Commit

Permalink
sort rocket data by launch date instead of rocket id
Browse files Browse the repository at this point in the history
  • Loading branch information
jakewmeyer committed May 28, 2018
1 parent a6ead7c commit 54a4a99
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 21 deletions.
2 changes: 1 addition & 1 deletion src/controllers/rockets.js
Expand Up @@ -9,7 +9,7 @@ module.exports = {
.collection('rocket')
.find({})
.project({ _id: 0 })
.sort({ id: 1 })
.sort({ first_flight: 1 })
.toArray();
ctx.body = data;
},
Expand Down
3 changes: 2 additions & 1 deletion test/routes/v2-rockets.test.js
Expand Up @@ -16,10 +16,11 @@ beforeAll((done) => {
test('It should return all rocket info', async () => {
const response = await request(app.callback()).get('/v2/rockets');
expect(response.statusCode).toBe(200);
expect(response.body).toHaveLength(3);
expect(response.body).toHaveLength(4);
expect(response.body[0]).toHaveProperty('name', 'Falcon 1');
expect(response.body[1]).toHaveProperty('name', 'Falcon 9');
expect(response.body[2]).toHaveProperty('name', 'Falcon Heavy');
expect(response.body[3]).toHaveProperty('name', 'Big Falcon Rocket');

response.body.forEach((item) => {
expect(item).toHaveProperty('id', expect.any(String));
Expand Down
30 changes: 11 additions & 19 deletions test/utilities/custom-asymmetric-matchers.js
Expand Up @@ -34,10 +34,8 @@ class SpacexVolume extends SpacexComposite {
if (!super.asymmetricMatch(any)) {
return false;
}
expect(any).toHaveProperty('cubic_meters', expect.any(Number));
expect(any).toHaveProperty('cubic_feet', expect.any(Number));
expect(any.cubic_meters).toBeGreaterThanOrEqual(0);
expect(any.cubic_feet).toBeGreaterThanOrEqual(0);
expect(any).toHaveProperty('cubic_meters');
expect(any).toHaveProperty('cubic_feet');
return true;
}

Expand All @@ -54,10 +52,8 @@ class SpacexLength extends SpacexComposite {
if (!super.asymmetricMatch(any)) {
return false;
}
expect(any).toHaveProperty('meters', expect.any(Number));
expect(any).toHaveProperty('feet', expect.any(Number));
expect(any.meters).toBeGreaterThanOrEqual(0);
expect(any.feet).toBeGreaterThanOrEqual(0);
expect(any).toHaveProperty('meters');
expect(any).toHaveProperty('feet');
return true;
}

Expand All @@ -74,10 +70,8 @@ class SpacexMass extends SpacexComposite {
if (!super.asymmetricMatch(any)) {
return false;
}
expect(any).toHaveProperty('kg', expect.any(Number));
expect(any).toHaveProperty('lb', expect.any(Number));
expect(any.kg).toBeGreaterThanOrEqual(0);
expect(any.lb).toBeGreaterThanOrEqual(0);
expect(any).toHaveProperty('kg');
expect(any).toHaveProperty('lb');
return true;
}

Expand All @@ -94,10 +88,8 @@ class SpacexThrust extends SpacexComposite {
if (!super.asymmetricMatch(any)) {
return false;
}
expect(any).toHaveProperty('kN', expect.any(Number));
expect(any).toHaveProperty('lbf', expect.any(Number));
expect(any.kN).toBeGreaterThanOrEqual(0);
expect(any.lbf).toBeGreaterThanOrEqual(0);
expect(any).toHaveProperty('kN');
expect(any).toHaveProperty('lbf');
return true;
}

Expand All @@ -114,8 +106,8 @@ class SpacexPayloadWeight extends SpacexComposite {
if (!super.asymmetricMatch(any)) {
return false;
}
expect(any).toHaveProperty('id', expect.any(String));
expect(any).toHaveProperty('name', expect.any(String));
expect(any).toHaveProperty('id');
expect(any).toHaveProperty('name');
expect(any).toEqual(new SpacexMass());
return true;
}
Expand All @@ -136,7 +128,7 @@ class SpacexVehicleStage extends SpacexComposite {
// expect(any).toHaveProperty('reusable', expect.any(Boolean))
// expect(any).toHaveProperty('engines', expect.any(String))
// expect(any).toHaveProperty('fuel_amount_tons', expect.any(Number))
expect(any).toHaveProperty('burn_time_sec', expect.any(Number));
expect(any).toHaveProperty('burn_time_sec');
// expect(any).toHaveProperty('thrust_sea_level', new SpacexThrust())
// expect(any).toHaveProperty('thrust_vacuum', new SpacexThrust())
// expect(any).toHaveProperty('payloads', expect.any(String)) //
Expand Down

0 comments on commit 54a4a99

Please sign in to comment.