From 329d632ef0d40e1f7f1f83c9a25cea3011de23a2 Mon Sep 17 00:00:00 2001 From: Jake Meyer Date: Wed, 8 Aug 2018 03:53:01 -0500 Subject: [PATCH] Add querysting filter support for NORAD id's --- src/builders/launch-query.js | 4 ++++ test/builders/launch-query.test.js | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/builders/launch-query.js b/src/builders/launch-query.js index e8ae8a1c..2528716e 100644 --- a/src/builders/launch-query.js +++ b/src/builders/launch-query.js @@ -128,6 +128,10 @@ module.exports = (q) => { query['rocket.second_stage.payloads.payload_id'] = q.payload_id; } + if (q.norad_id) { + query['rocket.second_stage.payloads.norad_id'] = parseInt(q.norad_id, 10); + } + if (q.customer) { query['rocket.second_stage.payloads.customers'] = q.customer; } diff --git a/test/builders/launch-query.test.js b/test/builders/launch-query.test.js index 8b92f9d9..892e7771 100644 --- a/test/builders/launch-query.test.js +++ b/test/builders/launch-query.test.js @@ -226,6 +226,16 @@ test('It should return launch of BulgariaSat-1', async () => { }); }); +test('It should return Iridium NEXT 7 with the correct NORAD id', async () => { + const response = await request(app.callback()).get('/v2/launches?norad_id=43571'); + expect(response.statusCode).toBe(200); + response.body.forEach((item) => { + item.rocket.second_stage.payloads.forEach((payload) => { + expect(payload).toHaveProperty('payload_id', 'Iridium NEXT 7'); + }); + }); +}); + test('It should return launches with Bulgaria Sat customer', async () => { const response = await request(app.callback()).get('/v2/launches?customer=Bulgaria+Sat'); expect(response.statusCode).toBe(200);