mts-booking-library 2.0.1 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/booking/booking.d.ts +13 -12
- package/lib/booking/booking.js +24 -24
- package/lib/booking/journeyBooking.d.ts +32 -31
- package/lib/booking/journeyBooking.js +49 -49
- package/lib/booking/serviceBooking.d.ts +22 -21
- package/lib/booking/serviceBooking.js +34 -34
- package/lib/booking/subscriptionBooking.d.ts +34 -33
- package/lib/booking/subscriptionBooking.js +49 -49
- package/lib/booking/tplBooking.d.ts +23 -22
- package/lib/booking/tplBooking.js +38 -38
- package/lib/utils/apiCall.d.ts +9 -4
- package/lib/utils/apiCall.js +56 -52
- package/package.json +1 -1
- package/lib/SubscriptionBooking.d.ts +0 -0
- package/lib/SubscriptionBooking.js +0 -148
- package/lib/utils/testUtils.d.ts +0 -8
- package/lib/utils/testUtils.js +0 -19
@@ -1,148 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
// import { MTSEnvs } from "../config";
|
3
|
-
// import { ServiceBooking } from "../booking/serviceBooking";
|
4
|
-
// import { CreateServiceCartRequest, ServiceCart } from "../types/services/ServiceCart";
|
5
|
-
// import { Service, ServiceTripsResponse } from "../types/services/Service";
|
6
|
-
// import { GetBuyerPassengersDetailsResponse } from "../types/common/Person";
|
7
|
-
// import { GetPaymentInformationFromGatewayResponse, GetSellerGatewaysResponse, PaymentMethods } from "../types/common/Payment";
|
8
|
-
// import { useTestState } from "../mtsStorage";
|
9
|
-
// import { SubscriptionBooking } from "../booking/subscriptionBooking";
|
10
|
-
// // Load .env file
|
11
|
-
// require('dotenv').config();
|
12
|
-
// // How to run the test: npm run test -- SubscriptionBooking.test.ts
|
13
|
-
// describe("SubscriptionBooking", () => {
|
14
|
-
// const timeOut = 120000;
|
15
|
-
// const sub_key = process.env.OCP_SUB_KEY_MTS;
|
16
|
-
// const access_token = process.env.ACCESS_TOKEN;
|
17
|
-
// const sellerId = 8; // ATV
|
18
|
-
// // Define localStorage for local testing
|
19
|
-
// if (typeof localStorage === "undefined" || localStorage === null) {
|
20
|
-
// var LocalStorage = require("node-localstorage").LocalStorage;
|
21
|
-
// global.localStorage = new LocalStorage("./scratch");
|
22
|
-
// }
|
23
|
-
// test("search_tpl", async () => {
|
24
|
-
// const booking = new SubscriptionBooking(MTSEnvs.TEST, sub_key!, true, SubscriptionBooking.Languages.EN, access_token, sellerId);
|
25
|
-
// // First, get the departures and destinations
|
26
|
-
// const departures = await booking.getSubscriptionsDepartures() as string[];
|
27
|
-
// expect(departures.length).toBeGreaterThan(0);
|
28
|
-
// expect(departures).toContain("BARDOLINO AUTOSTAZIONE");
|
29
|
-
// const selectedDeparture = "BARDOLINO AUTOSTAZIONE";
|
30
|
-
// const destinations = await booking.getSubscriptionsDestinations(selectedDeparture) as string[];
|
31
|
-
// expect(destinations.length).toBeGreaterThan(0);
|
32
|
-
// expect(destinations).toContain("GARDA AUTOSTAZIONE");
|
33
|
-
// const selectedDestination = "GARDA AUTOSTAZIONE";
|
34
|
-
// // Then get the validity types
|
35
|
-
// const validityTypes = await booking.getSubscriptionsValidityTypes(selectedDeparture, selectedDestination) as SubscriptionBooking.ValidityTypes[];
|
36
|
-
// expect(validityTypes.length).toBeGreaterThan(0);
|
37
|
-
// for (const validityType of validityTypes) {
|
38
|
-
// // Check that all returned validity types are valid
|
39
|
-
// expect(Object.values(SubscriptionBooking.ValidityTypes).includes(validityType)).toBe(true);
|
40
|
-
// }
|
41
|
-
// }, timeOut);
|
42
|
-
// const createCart = async (booking: ServiceBooking): Promise<ServiceCart> => {
|
43
|
-
// const servicesResponse = await booking.getServices(ServiceBooking.Currencies.EUR);
|
44
|
-
// const services = servicesResponse as Service[];
|
45
|
-
// // Build create cart request
|
46
|
-
// let tariffsMatrix = services[0].tariffsMatrix;
|
47
|
-
// tariffsMatrix[0][0].quantity = 1;
|
48
|
-
// const createServiceCartRequest: CreateServiceCartRequest = {
|
49
|
-
// currency: ServiceBooking.Currencies.EUR,
|
50
|
-
// service: {
|
51
|
-
// serviceId: services[0].id,
|
52
|
-
// tariffsMatrix: tariffsMatrix
|
53
|
-
// }
|
54
|
-
// };
|
55
|
-
// // Create cart
|
56
|
-
// const cart = await booking.createServiceCart(createServiceCartRequest) as ServiceCart;
|
57
|
-
// return cart;
|
58
|
-
// }
|
59
|
-
// test("create_service_cart", async () => {
|
60
|
-
// const booking = new ServiceBooking(MTSEnvs.TEST, sub_key!, true, ServiceBooking.Languages.EN);
|
61
|
-
// const cart = await createCart(booking);
|
62
|
-
// // Check that the cartId was saved to the local storage
|
63
|
-
// expect(useTestState().getState().cartId).toBe(cart.id);
|
64
|
-
// expect(booking.cartId).toBe(cart.id);
|
65
|
-
// // Test the booking status (we test only the Buyer and passenger data, as it will always be required)
|
66
|
-
// expect(booking.bookingStepsToStatus.get(ServiceBooking.BookingSteps.BUYER_PASSENGERS)).toStrictEqual([ true, false, true ]);
|
67
|
-
// expect(booking.bookingStepsToStatus.get(ServiceBooking.BookingSteps.ISSUE)).toStrictEqual([ false, false, true ]);
|
68
|
-
// // Test booking due date
|
69
|
-
// expect(booking.bookingDueDate?.toISOString()).toBe(new Date(cart.bookingDueDate).toISOString());
|
70
|
-
// // Test expired tickets
|
71
|
-
// expect(cart.hasIssuedTickets).toBe(false);
|
72
|
-
// // Test seller data
|
73
|
-
// expect(booking.getSellerId()).toBe(cart.sellerId);
|
74
|
-
// expect(cart.sellerPrivacyUrl.length).toBeGreaterThan(0);
|
75
|
-
// expect(cart.sellerTermsUrl.length).toBeGreaterThan(0);
|
76
|
-
// // Now try to get the cart
|
77
|
-
// const newBooking = await ServiceBooking.createBooking(MTSEnvs.TEST, sub_key!, true, ServiceBooking.Languages.EN);
|
78
|
-
// expect(newBooking.cartId).toBe(cart.id);
|
79
|
-
// expect(newBooking.getCart()?.id).toBe(cart.id)
|
80
|
-
// expect(newBooking.getSellerId()).toBe(cart.sellerId);
|
81
|
-
// // Finally try to delete the cart
|
82
|
-
// await booking.deleteCart();
|
83
|
-
// expect(booking.getCart()).toBe(undefined);
|
84
|
-
// expect(useTestState().getState().cartId).toBe(undefined);
|
85
|
-
// }, timeOut);
|
86
|
-
// test("get_edit_buyer_data", async () => {
|
87
|
-
// const booking = new ServiceBooking(MTSEnvs.TEST, sub_key!, true, ServiceBooking.Languages.EN);
|
88
|
-
// const cart = await createCart(booking);
|
89
|
-
// // First, try to get the buyer data
|
90
|
-
// let buyerDataResponse = await booking.getBuyerPassengersDetails();
|
91
|
-
// expect((buyerDataResponse as GetBuyerPassengersDetailsResponse).passengers.length).toBe(0);
|
92
|
-
// let buyer = (buyerDataResponse as GetBuyerPassengersDetailsResponse).buyer;
|
93
|
-
// expect(buyer).toBe(null);
|
94
|
-
// // Now try to edit the buyer data
|
95
|
-
// buyer = {
|
96
|
-
// id: 0,
|
97
|
-
// name: "TestName",
|
98
|
-
// lastName: "TestSurname",
|
99
|
-
// email: "testBookingLib@infos.it",
|
100
|
-
// phoneNumber: "+391234567890"
|
101
|
-
// }
|
102
|
-
// await booking.updateBuyerPassengersDetails(buyer);
|
103
|
-
// // Finally, get the buyer data again and check that the data was updated
|
104
|
-
// buyerDataResponse = await booking.getBuyerPassengersDetails();
|
105
|
-
// const updatedBuyer = (buyerDataResponse as GetBuyerPassengersDetailsResponse).buyer;
|
106
|
-
// expect(updatedBuyer.id).toBeGreaterThan(0);
|
107
|
-
// expect(updatedBuyer.name).toBe(buyer.name);
|
108
|
-
// expect(updatedBuyer.lastName).toBe(buyer.lastName);
|
109
|
-
// expect(updatedBuyer.email).toBe(buyer.email);
|
110
|
-
// expect(updatedBuyer.phoneNumber).toBe(buyer.phoneNumber);
|
111
|
-
// // Finally try to delete the cart
|
112
|
-
// await booking.deleteCart();
|
113
|
-
// expect(booking.getCart()).toBe(undefined);
|
114
|
-
// expect(useTestState().getState().cartId).toBe(undefined);
|
115
|
-
// }, timeOut);
|
116
|
-
// test("get_gateway_info", async () => {
|
117
|
-
// const booking = new ServiceBooking(MTSEnvs.TEST, sub_key!, true, ServiceBooking.Languages.EN);
|
118
|
-
// const cart = await createCart(booking);
|
119
|
-
// booking.updateSellerId(cart.sellerId);
|
120
|
-
// // First, try to get the buyer data
|
121
|
-
// let buyerDataResponse = await booking.getBuyerPassengersDetails();
|
122
|
-
// expect((buyerDataResponse as GetBuyerPassengersDetailsResponse).passengers.length).toBe(0);
|
123
|
-
// let buyer = (buyerDataResponse as GetBuyerPassengersDetailsResponse).buyer;
|
124
|
-
// expect(buyer).toBe(null);
|
125
|
-
// // Now try to edit the buyer data
|
126
|
-
// buyer = {
|
127
|
-
// id: 0,
|
128
|
-
// name: "TestName",
|
129
|
-
// lastName: "TestSurname",
|
130
|
-
// email: "testBookingLib@infos.it",
|
131
|
-
// phoneNumber: "+391234567890"
|
132
|
-
// }
|
133
|
-
// await booking.updateBuyerPassengersDetails(buyer);
|
134
|
-
// // Try to get the gateways
|
135
|
-
// const gateways = await booking.getSellerGateways() as GetSellerGatewaysResponse;
|
136
|
-
// if (!gateways.payPalGatewayDTO && !gateways.cardGatewayDTO) {
|
137
|
-
// throw new Error("No gateways found");
|
138
|
-
// }
|
139
|
-
// const gateway = gateways.payPalGatewayDTO ? gateways.payPalGatewayDTO : gateways.cardGatewayDTO;
|
140
|
-
// expect(gateway?.id).toBeGreaterThan(0);
|
141
|
-
// // Now try to get the info
|
142
|
-
// const gatewayInfo = await booking.getPaymentInformationFromGateway(gateway?.id ?? 0) as GetPaymentInformationFromGatewayResponse;
|
143
|
-
// // Finally try to delete the cart
|
144
|
-
// await booking.deleteCart();
|
145
|
-
// expect(booking.getCart()).toBe(undefined);
|
146
|
-
// expect(useTestState().getState().cartId).toBe(undefined);
|
147
|
-
// }, timeOut);
|
148
|
-
// });
|
package/lib/utils/testUtils.d.ts
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* This method return the ISO string of the date without GMT. An ISO string looks like this: YYYY-MM-DDThh:mm:ss.mmmZ
|
3
|
-
* @param {Date | string} date the date to convert
|
4
|
-
* @param {boolean} [removeTimezone=true] if true, the timezone will be removed from the ISO string, meaning
|
5
|
-
* that the string will look like this: YYYY-MM-DDThh:mm:ss.mmm
|
6
|
-
* @returns {string} the ISO string
|
7
|
-
*/
|
8
|
-
export declare const getISOStringWithoutGMT: (date: Date | string | null | undefined, removeTimezone?: boolean) => string | null;
|
package/lib/utils/testUtils.js
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getISOStringWithoutGMT = void 0;
|
4
|
-
/**
|
5
|
-
* This method return the ISO string of the date without GMT. An ISO string looks like this: YYYY-MM-DDThh:mm:ss.mmmZ
|
6
|
-
* @param {Date | string} date the date to convert
|
7
|
-
* @param {boolean} [removeTimezone=true] if true, the timezone will be removed from the ISO string, meaning
|
8
|
-
* that the string will look like this: YYYY-MM-DDThh:mm:ss.mmm
|
9
|
-
* @returns {string} the ISO string
|
10
|
-
*/
|
11
|
-
var getISOStringWithoutGMT = function (date, removeTimezone) {
|
12
|
-
if (removeTimezone === void 0) { removeTimezone = true; }
|
13
|
-
if (!date)
|
14
|
-
return null;
|
15
|
-
var newDate = new Date(date);
|
16
|
-
var isoString = new Date(newDate.valueOf() - newDate.getTimezoneOffset() * 60000).toISOString();
|
17
|
-
return removeTimezone ? isoString.slice(0, -1) : isoString;
|
18
|
-
};
|
19
|
-
exports.getISOStringWithoutGMT = getISOStringWithoutGMT;
|