diff --git a/spec/amadeus/client/request.test.js b/spec/amadeus/client/request.test.js index e46ca87..eb89044 100644 --- a/spec/amadeus/client/request.test.js +++ b/spec/amadeus/client/request.test.js @@ -102,6 +102,15 @@ describe('Request', () => { request.params = null; expect(request.fullQueryPath()).toBe('/foo/bar?'); }); + + it('should serialize array params as comma-separated values', () => { + request.verb = 'GET'; + request.params = { + amenities: ['bar', 'baz'], + ratings: [4, 5], + }; + expect(request.fullQueryPath()).toBe('/foo/bar?amenities=bar%2Cbaz&ratings=4%2C5'); + }); }); describe('.body', () => { diff --git a/src/amadeus/client/request.js b/src/amadeus/client/request.js index afdd320..a430e75 100644 --- a/src/amadeus/client/request.js +++ b/src/amadeus/client/request.js @@ -115,7 +115,7 @@ class Request { */ fullQueryPath() { if (this.verb === 'POST') { return this.path; } - else { return `${this.path}?${qs.stringify(this.params)}`; } + else { return `${this.path}?${qs.stringify(this.params, { arrayFormat: 'comma' })}`; } } /**