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);