Skip to content

Commit b96d942

Browse files
authored
Merge pull request #187 from olle-johannesson/improve-code-coverage
Improve code coverage
2 parents 3bbd64c + 41542cc commit b96d942

File tree

3 files changed

+45
-8
lines changed

3 files changed

+45
-8
lines changed

spec/amadeus/client.test.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,26 @@ describe('Client', () => {
123123
});
124124
});
125125

126+
describe('.delete', () => {
127+
it('should create a new request and call it', () => {
128+
let call = client.unauthenticatedRequest = jest.fn();
129+
client.accessToken = { bearerToken: () => {
130+
return { then: resolve => resolve('token') };
131+
}};
132+
client.delete(path, params);
133+
expect(call).toHaveBeenCalledWith('DELETE', path, params, 'token');
134+
});
135+
136+
it('should work without params', () => {
137+
let call = client.unauthenticatedRequest = jest.fn();
138+
client.accessToken = { bearerToken: () => {
139+
return { then: resolve => resolve('token') };
140+
}};
141+
client.delete(path);
142+
expect(call).toHaveBeenCalledWith('DELETE', path, {}, 'token');
143+
});
144+
});
145+
126146
describe('.unauthenticatedRequest', () => {
127147
it('should create a new request and call it', () => {
128148
client.accessToken.bearerToken = jest.fn(() => Promise.resolve('data'));

spec/amadeus/client/response.test.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,26 +47,27 @@ describe('Response', () => {
4747
expect(response.data).toEqual('b');
4848
});
4949

50-
it('should not parse if not json', () => {
51-
response.contentType = 'plain/text';
50+
it('should handle badly formed json', () => {
51+
response.addChunk('{ "a" : ');
5252
response.parse();
5353
expect(response.parsed).toBeFalsy();
5454
expect(response.result).toBeNull();
5555
expect(response.data).toBeNull();
5656
});
5757

58-
it('should not parse if status code is 204', () => {
59-
response.contentType = 'plain/text';
60-
response.statusCode = 204;
58+
it('should not parse if not json', () => {
59+
response.headers['content-type'] = 'plain/text';
6160
response.parse();
6261
expect(response.parsed).toBeFalsy();
6362
expect(response.result).toBeNull();
6463
expect(response.data).toBeNull();
6564
});
6665

67-
it('should handle badly formed json', () => {
68-
response.addChunk('{ "a" : ');
69-
response.parse();
66+
it('should not parse if status code is 204', () => {
67+
response.contentType = 'plain/text';
68+
response.statusCode = 204;
69+
const parsingReturnValue = response.parse();
70+
expect(parsingReturnValue).toBeUndefined();
7071
expect(response.parsed).toBeFalsy();
7172
expect(response.result).toBeNull();
7273
expect(response.data).toBeNull();

spec/amadeus/namespaces.test.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,12 @@ describe('Namespaces', () => {
318318
.toHaveBeenCalledWith('/v3/travel/trip-parser', {});
319319
});
320320

321+
it('.amadeus.travel.tripParser.fromFile', () => {
322+
const utf8Buffer = Buffer.from('file contént', 'utf8');
323+
const base64Encoding = amadeus.travel.tripParser.fromFile(utf8Buffer);
324+
expect(base64Encoding).toEqual('ZmlsZSBjb250w6ludA==');
325+
});
326+
321327
it('.amadeus.shopping.flightDates.get', () => {
322328
amadeus.client.get = jest.fn();
323329
amadeus.shopping.flightDates.get();
@@ -423,13 +429,23 @@ describe('Namespaces', () => {
423429
.toHaveBeenCalledWith('/v1/booking/flight-orders/XXX');
424430
});
425431

432+
it('.amadeus.booking.flightOrder().get throws when not providing an orderId', () => {
433+
expect(() => amadeus.booking.flightOrder().get())
434+
.toThrow(new Error('MISSING_REQUIRED_PARAMETER'));
435+
});
436+
426437
it('.amadeus.booking.flightOrder().delete', () => {
427438
amadeus.client.delete = jest.fn();
428439
amadeus.booking.flightOrder('XXX').delete();
429440
expect(amadeus.client.delete)
430441
.toHaveBeenCalledWith('/v1/booking/flight-orders/XXX');
431442
});
432443

444+
it('.amadeus.booking.flightOrder().delete throws when not providing an orderId', () => {
445+
expect(() => amadeus.booking.flightOrder().delete())
446+
.toThrow(new Error('MISSING_REQUIRED_PARAMETER'));
447+
});
448+
433449
it('.amadeus.booking.hotelBookings.post', () => {
434450
amadeus.client.post = jest.fn();
435451
amadeus.booking.hotelBookings.post();

0 commit comments

Comments
 (0)