Skip to content

Commit 736b323

Browse files
committed
modify to adapt test cases
1 parent 8db32d6 commit 736b323

File tree

8 files changed

+113
-141
lines changed

8 files changed

+113
-141
lines changed

README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -544,14 +544,13 @@ amadeus.dutyOfCare.diseases.covid19Report.get({
544544

545545
//Car & Transfers APIs
546546
// Transfer Search API : Search Transfer offers
547-
amadeus.shopping.transferOffers.post(
548-
JSON.stringify(body));
547+
amadeus.shopping.transferOffers.post(JSON.stringify(body));
549548

550-
// Transfer Book API : Book a transfer based on an offer id
549+
// Transfer Book API : Book a transfer based on the offer id
551550
amadeus.ordering.transferOrders.post(JSON.stringify(body),offerId='2094123123');
552551

553-
// Transfer Management API : Cancel a transfer based on an order id
554-
amadeus.ordering.transferOrders('XXX').transfers.cancellation.post(JSON.stringify({}), confirmNbr=12345);
552+
// Transfer Management API : Cancel a transfer based on the order id & confirmation number
553+
amadeus.ordering.transferOrder('XXX').transfers.cancellation.post(JSON.stringify({}), confirmNbr='12345');
555554

556555
```
557556

spec/amadeus/namespaces.test.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ describe('Namespaces', () => {
8585

8686
expect(amadeus.ordering).toBeDefined();
8787
expect(amadeus.ordering.transferOrders).toBeDefined();
88-
expect(amadeus.ordering.transferOffers('XXX').transfers.cancellation).toBeDefined();
88+
expect(amadeus.ordering.transferOrder('XXX').transfers.cancellation).toBeDefined();
8989

9090
expect(amadeus.airport).toBeDefined();
9191
expect(amadeus.airport.directDestinations).toBeDefined();
@@ -173,7 +173,7 @@ describe('Namespaces', () => {
173173
expect(amadeus.booking.hotelBookings.post).toBeDefined();
174174
expect(amadeus.shopping.transferOffers.post).toBeDefined();
175175
expect(amadeus.ordering.transferOrders.post).toBeDefined();
176-
expect(amadeus.ordering.transferOrders('XXX').transfers.cancellation.post).toBeDefined();
176+
expect(amadeus.ordering.transferOrder('XXX').transfers.cancellation.post).toBeDefined();
177177
});
178178

179179
it('should define all expected .delete methods', () => {
@@ -555,16 +555,16 @@ describe('Namespaces', () => {
555555

556556
it('.amadeus.ordering.transferOrders.post', () => {
557557
amadeus.client.post = jest.fn();
558-
amadeus.shopping.transferOrders.post();
558+
amadeus.ordering.transferOrders.post({}, '1234123123');
559559
expect(amadeus.client.post)
560-
.toHaveBeenCalledWith('/v1/shopping/transfer-orders', {});
560+
.toHaveBeenCalledWith('/v1/ordering/transfer-orders?offerId=1234123123', {});
561561
});
562562

563563
it('.amadeus.ordering.transferOrders().transfers.cancellation.post', () => {
564564
amadeus.client.post = jest.fn();
565-
amadeus.shopping.transferOrders(XXX).transfers.cancellation.post();
565+
amadeus.ordering.transferOrder('XXX').transfers.cancellation.post({}, 12345);
566566
expect(amadeus.client.post)
567-
.toHaveBeenCalledWith('/v1/shopping/transfer-orders/XXX/transfers/cancellation', {});
567+
.toHaveBeenCalledWith('/v1/ordering/transfer-orders/XXX/transfers/cancellation?confirmNbr=12345', {});
568568
});
569569

570570
});

src/amadeus/namespaces/ordering.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import TransferOrders from './ordering/transfer_orders';
2+
import TransferOrder from './ordering/transfer_order';
23

34
/**
45
* A namespaced client for the
@@ -12,17 +13,14 @@ import TransferOrders from './ordering/transfer_orders';
1213
* ```
1314
*
1415
* @param {Client} client
15-
* @property {TransferOrders} TransferOrders
16-
* @protected
16+
* @property {TransferOrders} transferOrders
17+
* @property {TransferOrder} transferOrder
1718
*/
1819
class Ordering {
1920
constructor(client) {
20-
this.client = client;
21+
this.client = client;
2122
this.transferOrders = new TransferOrders(client);
22-
}
23-
24-
transferOrders (offerId) {
25-
return new TransferOrders(this.client, offerId);
23+
this.transferOrder = (orderId) => new TransferOrder(client, orderId);
2624
}
2725
}
2826

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import Transfers from './transfer_orders/transfers';
2+
3+
/**
4+
* A namespaced client for the
5+
* `/v1/ordering/transfer-orders/XXXXX` endpoints
6+
*
7+
* Access via the {@link Amadeus} object
8+
*
9+
* ```js
10+
* let amadeus = new Amadeus();
11+
* amadeus.ordering.transferOrder('XXX');
12+
* ```
13+
*
14+
* @param {Client} client
15+
* @param {string} orderId
16+
*/
17+
class TransferOrder {
18+
constructor(client, orderId) {
19+
this.client = client;
20+
this.orderId = orderId;
21+
this.transfers = new Transfers(client, orderId);
22+
}
23+
}
24+
25+
export default TransferOrder;

src/amadeus/namespaces/ordering/transfer_orders.js

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,25 @@
1212
* @param {Client} client
1313
*/
1414
class TransferOrders {
15-
constructor(client) {
16-
this.client = client;
17-
this.offerId = offerId;
18-
}
19-
20-
/**
21-
* To book the selected transfer-offer and create a transfer-order
22-
*
23-
* @param {Object} params
24-
* @return {Promise.<Response,ResponseError>} a Promise
25-
*
26-
* To book the transfer-offer(s) suggested by transferOffers and create a transfer-order
27-
*
28-
* ```js
29-
* amadeus.ordering.transferOrders.post(JSON.stringify(body),offerId='2094123123');
30-
* ```
31-
*/
32-
post(params = {}) {
33-
return this.client.post(
34-
`/v1/ordering/transfer-orders/${this.offerId}`, params
35-
);
36-
}
15+
constructor(client) {
16+
this.client = client;
17+
3718
}
38-
39-
export default TransferOrders;
19+
20+
/**
21+
* To book the selected transfer-offer and create a transfer-order
22+
*
23+
* @return {Promise.<Response,ResponseError>} a Promise
24+
*
25+
* To book the transfer-offer(s) suggested by transferOffers and create a transfer-order
26+
*
27+
* ```js
28+
* amadeus.ordering.transferOrders.post(body, '2094123123');;
29+
* ```
30+
*/
31+
post(body, offerId) {
32+
return this.client.post(`/v1/ordering/transfer-orders?offerId=${offerId}`, body);
33+
}
34+
}
35+
36+
export default TransferOrders;

src/amadeus/namespaces/ordering/transfer_orders/transfers.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ import Cancellation from './transfers/cancellation';
1414
* @param {Client} client
1515
*/
1616
class Transfers {
17-
constructor(client) {
18-
this.client = client;
19-
this.cancellation = new Cancellation(client);
20-
}
17+
constructor(client, orderId) {
18+
this.client = client;
19+
this.orderId = orderId;
20+
this.cancellation = new Cancellation(client, orderId);
2121
}
22-
23-
export default Transfers;
22+
}
23+
24+
export default Transfers;

src/amadeus/namespaces/ordering/transfer_orders/transfers/cancellation.js

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,31 @@
66
*
77
* ```js
88
* let amadeus = new Amadeus();
9-
* amadeus.ordering.transferOrder('XXX').transfers.cancellation.post(body, confirmNbr=123);
9+
* amadeus.ordering.transferOrder('XXX').transfers.cancellation.post(JSON.stringify({}), 12345);;
1010
* ```
1111
*
1212
* @param {Client} client
1313
*/
14-
class TransferOrder {
15-
constructor(client) {
16-
this.client = client;
17-
this.orderId = orderId;
18-
}
19-
20-
/**
21-
* To retrieve a transfer order based on its id
22-
* @param {Object} params
23-
* @return {Promise.<Response,ResponseError>} a Promise
24-
*
25-
* To retrieve a transfer order with ID 'XXX'
26-
*
27-
* ```js
28-
* amadeus.ordering.transferOrders('XXX').transfers.cancellation.post({}, confirmNbr=123);
29-
* ```
30-
*/
31-
post(params = {}) {
32-
return this.client.post(
33-
`/v1/ordering/transfer-orders/${this.orderId}/transfers/cancellation`, params);
34-
}
14+
class Cancellation {
15+
constructor(client, orderId) {
16+
this.client = client;
17+
this.orderId = orderId;
3518
}
36-
37-
export default TransferOrder;
19+
20+
/**
21+
* To cancel a transfer order based on its id
22+
* @return {Promise.<Response,ResponseError>} a Promise
23+
*
24+
* To cancel a transfer order with ID 'XXX' and confirmation number '12345'
25+
*
26+
* ```js
27+
* amadeus.ordering.transferOrder('XXX').transfers.cancellation.post(JSON.stringify({}), 12345);;
28+
* ```
29+
*/
30+
post(body, confirmNbr) {
31+
return this.client.post(
32+
`/v1/ordering/transfer-orders/${this.orderId}/transfers/cancellation?confirmNbr=${confirmNbr}`, body);
33+
}
34+
}
35+
36+
export default Cancellation;

src/amadeus/namespaces/shopping/transfer_offers.js

Lines changed: 22 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -13,73 +13,26 @@
1313
* @param {Client} client
1414
*/
1515
class TransferOffers {
16-
constructor(client) {
17-
this.client = client;
18-
}
19-
20-
/**
21-
* To search .
22-
*
23-
* @param {Object} params
24-
* @return {Promise.<Response,ResponseError>} a Promise
25-
*
26-
* To search the list of transfer offers
27-
*
28-
* ```js
29-
* amadeus.shopping.transferOffers.post (JSON.stringify({
30-
"startLocationCode": "CDG",
31-
"endAddressLine": "Avenue Anatole France, 5",
32-
"endCityName": "Paris",
33-
"endZipCode": "75007",
34-
"endCountryCode": "FR",
35-
"endName": "Souvenirs De La Tour",
36-
"endGeoCode": "48.859466,2.2976965",
37-
"transferType": "PRIVATE",
38-
"startDateTime": "2023-11-10T10:30:00",
39-
"providerCodes": "TXO",
40-
"passengers": 2,
41-
"stopOvers": [
42-
{
43-
"duration": "PT2H30M",
44-
"sequenceNumber": 1,
45-
"addressLine": "Avenue de la Bourdonnais, 19",
46-
"countryCode": "FR",
47-
"cityName": "Paris",
48-
"zipCode": "75007",
49-
"name": "De La Tours",
50-
"geoCode": "48.859477,2.2976985",
51-
"stateCode": "FR"
52-
}
53-
],
54-
"startConnectedSegment": {
55-
"transportationType": "FLIGHT",
56-
"transportationNumber": "AF380",
57-
"departure": {
58-
"localDateTime": "2023-11-10T09:00:00",
59-
"iataCode": "NCE"
60-
},
61-
"arrival": {
62-
"localDateTime": "2023-11-10T10:00:00",
63-
"iataCode": "CDG"
64-
}
65-
},
66-
"passengerCharacteristics": [
67-
{
68-
"passengerTypeCode": "ADT",
69-
"age": 20
70-
},
71-
{
72-
"passengerTypeCode": "CHD",
73-
"age": 10
74-
}
75-
]
76-
}
77-
* ```
78-
*/
79-
post(params = {}) {
80-
return this.client.post('/v1/shopping/transfer-offers', params);
81-
}
82-
16+
constructor(client) {
17+
this.client = client;
8318
}
84-
85-
export default TransferOffers;
19+
20+
/**
21+
* To search the list of transfer offers.
22+
*
23+
* @param {Object} params
24+
* @return {Promise.<Response,ResponseError>} a Promise
25+
*
26+
* To search the list of transfer offers
27+
*
28+
* ```js
29+
* amadeus.shopping.transferOffers.post(body)
30+
31+
* ```
32+
*/
33+
post(params = {}) {
34+
return this.client.post('/v1/shopping/transfer-offers', params);
35+
}
36+
}
37+
38+
export default TransferOffers;

0 commit comments

Comments
 (0)