@wix/headless-bookings 0.0.105 → 0.0.106
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/dist/__mocks__/booking/booking-client-service.js +25 -20
- package/cjs/dist/__mocks__/booking/booking-mocks.js +28 -20
- package/cjs/dist/__mocks__/payment/payment-mocks.js +6 -3
- package/cjs/dist/__mocks__/services/services-mocks.js +79 -74
- package/cjs/dist/__mocks__/time-slots/time-slots-client-service.js +39 -33
- package/cjs/dist/__mocks__/time-slots/time-slots-core.js +43 -33
- package/cjs/dist/__mocks__/time-slots/time-slots-mocks.js +18 -13
- package/cjs/dist/api/create-booking/index.js +6 -3
- package/cjs/dist/api/create-checkout/index.js +9 -4
- package/cjs/dist/api/create-order/index.js +6 -3
- package/cjs/dist/api/fetch-availability/index.js +18 -15
- package/cjs/dist/api/index.js +24 -7
- package/cjs/dist/api/query-categories/index.js +6 -3
- package/cjs/dist/api/query-locations/index.js +9 -5
- package/cjs/dist/api/query-services/index.js +24 -17
- package/cjs/dist/react/booking/Book.js +51 -12
- package/cjs/dist/react/booking/Booking.js +68 -26
- package/cjs/dist/react/booking/BookingItem.js +56 -15
- package/cjs/dist/react/booking-form/BookingForm.js +63 -21
- package/cjs/dist/react/core/booking/Book.js +14 -11
- package/cjs/dist/react/core/booking/Booking.js +35 -23
- package/cjs/dist/react/core/booking-form/BookingForm.js +63 -26
- package/cjs/dist/react/core/location/Location.js +60 -21
- package/cjs/dist/react/core/location-list/LocationList.js +15 -10
- package/cjs/dist/react/core/payment/Payment.js +41 -30
- package/cjs/dist/react/core/service/Service.js +28 -19
- package/cjs/dist/react/core/service/ServiceMediaCover.js +7 -4
- package/cjs/dist/react/core/service/ServiceMediaGallery.js +7 -4
- package/cjs/dist/react/core/service/ServiceMediaMain.js +7 -4
- package/cjs/dist/react/core/service-list/ServiceList.js +12 -8
- package/cjs/dist/react/core/service-list/ServiceListFilter.js +9 -6
- package/cjs/dist/react/core/staff-member/StaffMember.js +20 -14
- package/cjs/dist/react/core/staff-member-list/StaffMemberList.js +19 -14
- package/cjs/dist/react/core/time-slot-list/TimeSlot.js +41 -28
- package/cjs/dist/react/core/time-slot-list/TimeSlotList.js +21 -15
- package/cjs/dist/react/index.js +49 -13
- package/cjs/dist/react/location/Location.js +76 -36
- package/cjs/dist/react/location/LocationList.js +70 -31
- package/cjs/dist/react/payment/Payment.js +87 -48
- package/cjs/dist/react/service/Service.js +197 -158
- package/cjs/dist/react/service/ServiceMedia.js +56 -17
- package/cjs/dist/react/service-list/ServiceList.js +71 -32
- package/cjs/dist/react/staff-member/StaffMember.js +61 -20
- package/cjs/dist/react/staff-member/StaffMemberList.js +68 -29
- package/cjs/dist/react/time-slot-list/TimeSlot.js +95 -56
- package/cjs/dist/react/time-slot-list/TimeSlotList.js +87 -48
- package/cjs/dist/services/booking/book-action/bookAction.js +21 -18
- package/cjs/dist/services/booking/book-action/buildBookingRequest.js +18 -15
- package/cjs/dist/services/booking/book-action/buildCheckoutRequest.js +8 -5
- package/cjs/dist/services/booking/book-action/canBook.js +4 -1
- package/cjs/dist/services/booking/book-action/index.js +15 -6
- package/cjs/dist/services/booking/book-action/isCheckoutRequired.js +4 -1
- package/cjs/dist/services/booking/book-action/types.js +5 -2
- package/cjs/dist/services/booking/booking.js +11 -8
- package/cjs/dist/services/booking-form/booking-form.js +26 -18
- package/cjs/dist/services/booking-form/utils.js +10 -4
- package/cjs/dist/services/constants.js +6 -3
- package/cjs/dist/services/index.js +48 -10
- package/cjs/dist/services/location-list/location-list.def.js +7 -5
- package/cjs/dist/services/location-list/location-list.js +31 -23
- package/cjs/dist/services/payment/payment.def.js +5 -2
- package/cjs/dist/services/payment/payment.js +22 -17
- package/cjs/dist/services/service/service.js +33 -29
- package/cjs/dist/services/service-list/service-list.js +22 -18
- package/cjs/dist/services/staff-member-list/staff-member-list.def.js +5 -2
- package/cjs/dist/services/staff-member-list/staff-member-list.js +16 -10
- package/cjs/dist/services/time-slot-list/index.js +12 -3
- package/cjs/dist/services/time-slot-list/time-slot-list.def.js +8 -5
- package/cjs/dist/services/time-slot-list/time-slot-list.js +24 -19
- package/cjs/dist/services/time-slot-list/time-slot.js +9 -6
- package/cjs/dist/utils/dateAndTime.js +7 -2
- package/cjs/dist/utils/guid.js +4 -1
- package/cjs/dist/utils/index.js +5 -1
- package/cjs/dist/utils/money.js +6 -2
- package/cjs/dist/utils/navigation.js +6 -3
- package/package.json +3 -3
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mockSignal = mockSignal;
|
|
4
|
+
exports.createMockSignalsService = createMockSignalsService;
|
|
5
|
+
exports.createMockBookingService = createMockBookingService;
|
|
6
|
+
const vitest_1 = require("vitest");
|
|
7
|
+
function mockSignal(initialValue) {
|
|
3
8
|
let value = initialValue;
|
|
4
9
|
return {
|
|
5
10
|
get: () => value,
|
|
@@ -9,7 +14,7 @@ export function mockSignal(initialValue) {
|
|
|
9
14
|
},
|
|
10
15
|
};
|
|
11
16
|
}
|
|
12
|
-
|
|
17
|
+
function createMockSignalsService() {
|
|
13
18
|
return {
|
|
14
19
|
signal: mockSignal,
|
|
15
20
|
// Re-evaluate the computed function on every get/peek (like real computed signals)
|
|
@@ -18,12 +23,12 @@ export function createMockSignalsService() {
|
|
|
18
23
|
peek: () => fn(),
|
|
19
24
|
set: () => { }, // no-op for computed
|
|
20
25
|
}),
|
|
21
|
-
effect: vi.fn((fn) => {
|
|
26
|
+
effect: vitest_1.vi.fn((fn) => {
|
|
22
27
|
fn();
|
|
23
28
|
}),
|
|
24
29
|
};
|
|
25
30
|
}
|
|
26
|
-
|
|
31
|
+
function createMockBookingService(config = {}) {
|
|
27
32
|
const { serviceSelections = [], location = null, timezone = 'UTC', formSubmission = null, } = config;
|
|
28
33
|
const serviceSelectionsSignal = mockSignal(serviceSelections);
|
|
29
34
|
const locationSignal = mockSignal(location);
|
|
@@ -35,21 +40,21 @@ export function createMockBookingService(config = {}) {
|
|
|
35
40
|
timezone: timezoneSignal,
|
|
36
41
|
formSubmission: formSubmissionSignal,
|
|
37
42
|
actions: {
|
|
38
|
-
updateItem: vi.fn(),
|
|
39
|
-
setItem: vi.fn(),
|
|
40
|
-
addItem: vi.fn(),
|
|
41
|
-
removeItem: vi.fn(),
|
|
42
|
-
clearItems: vi.fn(),
|
|
43
|
-
setResource: vi.fn(),
|
|
44
|
-
getResourceByType: vi.fn(),
|
|
45
|
-
clearResourceByType: vi.fn(),
|
|
46
|
-
setLocation: vi.fn(),
|
|
47
|
-
clearLocation: vi.fn(),
|
|
48
|
-
setTimezone: vi.fn(),
|
|
49
|
-
setFormSubmission: vi.fn(),
|
|
50
|
-
clearFormSubmission: vi.fn(),
|
|
51
|
-
clearAll: vi.fn(),
|
|
52
|
-
book: vi.fn(),
|
|
43
|
+
updateItem: vitest_1.vi.fn(),
|
|
44
|
+
setItem: vitest_1.vi.fn(),
|
|
45
|
+
addItem: vitest_1.vi.fn(),
|
|
46
|
+
removeItem: vitest_1.vi.fn(),
|
|
47
|
+
clearItems: vitest_1.vi.fn(),
|
|
48
|
+
setResource: vitest_1.vi.fn(),
|
|
49
|
+
getResourceByType: vitest_1.vi.fn(),
|
|
50
|
+
clearResourceByType: vitest_1.vi.fn(),
|
|
51
|
+
setLocation: vitest_1.vi.fn(),
|
|
52
|
+
clearLocation: vitest_1.vi.fn(),
|
|
53
|
+
setTimezone: vitest_1.vi.fn(),
|
|
54
|
+
setFormSubmission: vitest_1.vi.fn(),
|
|
55
|
+
clearFormSubmission: vitest_1.vi.fn(),
|
|
56
|
+
clearAll: vitest_1.vi.fn(),
|
|
57
|
+
book: vitest_1.vi.fn(),
|
|
53
58
|
},
|
|
54
59
|
};
|
|
55
60
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mockFormSubmission = exports.mockServiceSelectionWithoutTimeSlot = exports.mockServiceSelection = exports.mockTimeSlot = exports.mockTimezone = exports.mockLocationTwo = exports.mockLocation = exports.mockResourceTwo = exports.mockResource = void 0;
|
|
4
|
+
exports.createMockResource = createMockResource;
|
|
5
|
+
exports.createMockLocation = createMockLocation;
|
|
6
|
+
exports.createMockServiceSelectionTimeSlot = createMockServiceSelectionTimeSlot;
|
|
7
|
+
exports.createMockServiceSelection = createMockServiceSelection;
|
|
8
|
+
exports.createMockFormSubmission = createMockFormSubmission;
|
|
9
|
+
const services_mocks_js_1 = require("../services/services-mocks.js");
|
|
10
|
+
function createMockResource(overrides = {}) {
|
|
3
11
|
return {
|
|
4
12
|
_id: 'resource-1',
|
|
5
13
|
name: 'John Doe',
|
|
@@ -7,7 +15,7 @@ export function createMockResource(overrides = {}) {
|
|
|
7
15
|
...overrides,
|
|
8
16
|
};
|
|
9
17
|
}
|
|
10
|
-
|
|
18
|
+
function createMockLocation(overrides = {}) {
|
|
11
19
|
return {
|
|
12
20
|
_id: 'location-1',
|
|
13
21
|
type: 'BUSINESS',
|
|
@@ -18,53 +26,53 @@ export function createMockLocation(overrides = {}) {
|
|
|
18
26
|
...overrides,
|
|
19
27
|
};
|
|
20
28
|
}
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
exports.mockResource = createMockResource();
|
|
30
|
+
exports.mockResourceTwo = createMockResource({
|
|
23
31
|
_id: 'resource-2',
|
|
24
32
|
name: 'Jane Smith',
|
|
25
33
|
});
|
|
26
|
-
|
|
27
|
-
|
|
34
|
+
exports.mockLocation = createMockLocation();
|
|
35
|
+
exports.mockLocationTwo = createMockLocation({
|
|
28
36
|
_id: 'location-2',
|
|
29
37
|
business: {
|
|
30
38
|
_id: 'location-2',
|
|
31
39
|
name: 'Downtown Branch',
|
|
32
40
|
},
|
|
33
41
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
exports.mockTimezone = 'America/New_York';
|
|
43
|
+
exports.mockTimeSlot = createMockServiceSelectionTimeSlot();
|
|
44
|
+
function createMockServiceSelectionTimeSlot(overrides = {}) {
|
|
37
45
|
return {
|
|
38
46
|
startDate: '2024-03-15T10:00:00Z',
|
|
39
47
|
endDate: '2024-03-15T11:00:00Z',
|
|
40
48
|
totalCapacity: 10,
|
|
41
49
|
remainingCapacity: 5,
|
|
42
50
|
scheduleId: 'schedule-123',
|
|
43
|
-
resources: [mockResource],
|
|
44
|
-
location: mockLocation,
|
|
51
|
+
resources: [exports.mockResource],
|
|
52
|
+
location: exports.mockLocation,
|
|
45
53
|
...overrides,
|
|
46
54
|
};
|
|
47
55
|
}
|
|
48
56
|
/**
|
|
49
57
|
* Creates a mock ServiceSelection with sensible defaults
|
|
50
58
|
*/
|
|
51
|
-
|
|
59
|
+
function createMockServiceSelection(overrides = {}) {
|
|
52
60
|
return {
|
|
53
61
|
instanceId: 'instance-1',
|
|
54
|
-
service: mockService,
|
|
55
|
-
resources: [mockResource],
|
|
56
|
-
timeSlot: mockTimeSlot,
|
|
62
|
+
service: services_mocks_js_1.mockService,
|
|
63
|
+
resources: [exports.mockResource],
|
|
64
|
+
timeSlot: exports.mockTimeSlot,
|
|
57
65
|
totalParticipants: 1,
|
|
58
66
|
...overrides,
|
|
59
67
|
};
|
|
60
68
|
}
|
|
61
|
-
|
|
62
|
-
|
|
69
|
+
exports.mockServiceSelection = createMockServiceSelection();
|
|
70
|
+
exports.mockServiceSelectionWithoutTimeSlot = createMockServiceSelection({
|
|
63
71
|
instanceId: 'instance-2',
|
|
64
72
|
resources: [],
|
|
65
73
|
timeSlot: undefined,
|
|
66
74
|
});
|
|
67
|
-
|
|
75
|
+
function createMockFormSubmission(overrides = {}) {
|
|
68
76
|
return {
|
|
69
77
|
firstName: 'John',
|
|
70
78
|
lastName: 'Doe',
|
|
@@ -73,4 +81,4 @@ export function createMockFormSubmission(overrides = {}) {
|
|
|
73
81
|
...overrides,
|
|
74
82
|
};
|
|
75
83
|
}
|
|
76
|
-
|
|
84
|
+
exports.mockFormSubmission = createMockFormSubmission();
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Shared mock data for payment service tests
|
|
3
4
|
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.mockCalculateTotalsResponseMultipleItems = exports.mockCalculateTotalsResponseWithDeposit = exports.mockCalculateTotalsResponse = void 0;
|
|
4
7
|
/**
|
|
5
8
|
* Mock CalculateTotals response with single line item
|
|
6
9
|
*/
|
|
7
|
-
|
|
10
|
+
exports.mockCalculateTotalsResponse = {
|
|
8
11
|
calculatedLineItems: [
|
|
9
12
|
{
|
|
10
13
|
lineItemId: 'line-item-1',
|
|
@@ -65,7 +68,7 @@ export const mockCalculateTotalsResponse = {
|
|
|
65
68
|
/**
|
|
66
69
|
* Mock CalculateTotals response with deposit
|
|
67
70
|
*/
|
|
68
|
-
|
|
71
|
+
exports.mockCalculateTotalsResponseWithDeposit = {
|
|
69
72
|
calculatedLineItems: [
|
|
70
73
|
{
|
|
71
74
|
lineItemId: 'line-item-1',
|
|
@@ -127,7 +130,7 @@ export const mockCalculateTotalsResponseWithDeposit = {
|
|
|
127
130
|
/**
|
|
128
131
|
* Mock CalculateTotals response with multiple line items
|
|
129
132
|
*/
|
|
130
|
-
|
|
133
|
+
exports.mockCalculateTotalsResponseMultipleItems = {
|
|
131
134
|
calculatedLineItems: [
|
|
132
135
|
{
|
|
133
136
|
lineItemId: 'line-item-1',
|
|
@@ -1,23 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Shared mock data for booking service tests
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.mockServiceInPerson = exports.mockServiceWithDeposit = exports.mockSingleStaffMemberListConfig = exports.mockEmptyStaffMemberListConfig = exports.mockStaffMemberListConfig = exports.mockStaffMembers = exports.mockStaffMemberNoName = exports.mockStaffMemberMinimal = exports.mockStaffMember2 = exports.mockStaffMember = exports.mockServiceListConfigWithCategories = exports.mockCategories = exports.mockServiceConfig = exports.mockEmptyServiceListConfig = exports.mockServiceListConfigWithMore = exports.mockServiceListConfig = exports.mockPagingMetadataEmpty = exports.mockPagingMetadataWithMore = exports.mockPagingMetadata = exports.mockServices = exports.mockServiceMinimal = exports.mockServiceCourse = exports.mockServiceClass = exports.mockServiceNoFee = exports.mockServiceCustomPrice = exports.mockServiceVariedPrice = exports.mockService = void 0;
|
|
7
|
+
exports.createLargeServiceList = createLargeServiceList;
|
|
8
|
+
exports.createLargeStaffMemberList = createLargeStaffMemberList;
|
|
9
|
+
const auto_sdk_bookings_services_1 = require("@wix/auto_sdk_bookings_services");
|
|
10
|
+
const constants_js_1 = require("../../services/constants.js");
|
|
6
11
|
/**
|
|
7
12
|
* Base mock service with all fields populated (APPOINTMENT type, FIXED pricing)
|
|
8
13
|
*/
|
|
9
|
-
|
|
14
|
+
exports.mockService = {
|
|
10
15
|
_id: 'test-service-id',
|
|
11
16
|
name: 'Test Service Name',
|
|
12
17
|
description: 'Test service description',
|
|
13
18
|
tagLine: 'Test tagline',
|
|
14
|
-
type: ServiceType.APPOINTMENT,
|
|
19
|
+
type: auto_sdk_bookings_services_1.ServiceType.APPOINTMENT,
|
|
15
20
|
category: {
|
|
16
21
|
_id: 'category-1',
|
|
17
22
|
name: 'Test Category',
|
|
18
23
|
},
|
|
19
24
|
payment: {
|
|
20
|
-
rateType: RateType.FIXED,
|
|
25
|
+
rateType: auto_sdk_bookings_services_1.RateType.FIXED,
|
|
21
26
|
fixed: {
|
|
22
27
|
price: {
|
|
23
28
|
value: '50.00',
|
|
@@ -90,12 +95,12 @@ export const mockService = {
|
|
|
90
95
|
/**
|
|
91
96
|
* Mock service with VARIED pricing
|
|
92
97
|
*/
|
|
93
|
-
|
|
94
|
-
...mockService,
|
|
98
|
+
exports.mockServiceVariedPrice = {
|
|
99
|
+
...exports.mockService,
|
|
95
100
|
_id: 'test-service-varied',
|
|
96
101
|
name: 'Varied Price Service',
|
|
97
102
|
payment: {
|
|
98
|
-
rateType: RateType.VARIED,
|
|
103
|
+
rateType: auto_sdk_bookings_services_1.RateType.VARIED,
|
|
99
104
|
varied: {
|
|
100
105
|
defaultPrice: {
|
|
101
106
|
value: '50.00',
|
|
@@ -115,12 +120,12 @@ export const mockServiceVariedPrice = {
|
|
|
115
120
|
/**
|
|
116
121
|
* Mock service with CUSTOM pricing
|
|
117
122
|
*/
|
|
118
|
-
|
|
119
|
-
...mockService,
|
|
123
|
+
exports.mockServiceCustomPrice = {
|
|
124
|
+
...exports.mockService,
|
|
120
125
|
_id: 'test-service-custom',
|
|
121
126
|
name: 'Custom Price Service',
|
|
122
127
|
payment: {
|
|
123
|
-
rateType: RateType.CUSTOM,
|
|
128
|
+
rateType: auto_sdk_bookings_services_1.RateType.CUSTOM,
|
|
124
129
|
custom: {
|
|
125
130
|
description: 'Contact for pricing',
|
|
126
131
|
},
|
|
@@ -129,35 +134,35 @@ export const mockServiceCustomPrice = {
|
|
|
129
134
|
/**
|
|
130
135
|
* Mock service with NO_FEE pricing (free)
|
|
131
136
|
*/
|
|
132
|
-
|
|
133
|
-
...mockService,
|
|
137
|
+
exports.mockServiceNoFee = {
|
|
138
|
+
...exports.mockService,
|
|
134
139
|
_id: 'test-service-no-fee',
|
|
135
140
|
name: 'Free Service',
|
|
136
141
|
payment: {
|
|
137
|
-
rateType: RateType.NO_FEE,
|
|
142
|
+
rateType: auto_sdk_bookings_services_1.RateType.NO_FEE,
|
|
138
143
|
},
|
|
139
144
|
};
|
|
140
145
|
/**
|
|
141
146
|
* Mock CLASS type service
|
|
142
147
|
*/
|
|
143
|
-
|
|
144
|
-
...mockService,
|
|
148
|
+
exports.mockServiceClass = {
|
|
149
|
+
...exports.mockService,
|
|
145
150
|
_id: 'test-service-class',
|
|
146
151
|
name: 'Class Service',
|
|
147
|
-
type: ServiceType.CLASS,
|
|
152
|
+
type: auto_sdk_bookings_services_1.ServiceType.CLASS,
|
|
148
153
|
defaultCapacity: 15,
|
|
149
154
|
};
|
|
150
155
|
/**
|
|
151
156
|
* Mock COURSE type service
|
|
152
157
|
*/
|
|
153
|
-
|
|
154
|
-
...mockService,
|
|
158
|
+
exports.mockServiceCourse = {
|
|
159
|
+
...exports.mockService,
|
|
155
160
|
_id: 'test-service-course',
|
|
156
161
|
name: 'Course Service',
|
|
157
|
-
type: ServiceType.COURSE,
|
|
162
|
+
type: auto_sdk_bookings_services_1.ServiceType.COURSE,
|
|
158
163
|
defaultCapacity: 25,
|
|
159
164
|
schedule: {
|
|
160
|
-
...mockService.schedule,
|
|
165
|
+
...exports.mockService.schedule,
|
|
161
166
|
firstSessionStart: new Date('2024-01-15T09:00:00Z'),
|
|
162
167
|
lastSessionEnd: new Date('2024-03-15T17:00:00Z'),
|
|
163
168
|
},
|
|
@@ -165,7 +170,7 @@ export const mockServiceCourse = {
|
|
|
165
170
|
/**
|
|
166
171
|
* Mock service without optional fields (minimal)
|
|
167
172
|
*/
|
|
168
|
-
|
|
173
|
+
exports.mockServiceMinimal = {
|
|
169
174
|
_id: 'test-service-minimal',
|
|
170
175
|
name: 'Minimal Service',
|
|
171
176
|
description: '',
|
|
@@ -173,14 +178,14 @@ export const mockServiceMinimal = {
|
|
|
173
178
|
/**
|
|
174
179
|
* Array of mock services for list tests
|
|
175
180
|
*/
|
|
176
|
-
|
|
181
|
+
exports.mockServices = [
|
|
177
182
|
{
|
|
178
183
|
_id: 'service-1',
|
|
179
184
|
name: 'Service One',
|
|
180
185
|
description: 'Description for service one',
|
|
181
|
-
type: ServiceType.APPOINTMENT,
|
|
186
|
+
type: auto_sdk_bookings_services_1.ServiceType.APPOINTMENT,
|
|
182
187
|
payment: {
|
|
183
|
-
rateType: RateType.FIXED,
|
|
188
|
+
rateType: auto_sdk_bookings_services_1.RateType.FIXED,
|
|
184
189
|
fixed: {
|
|
185
190
|
price: {
|
|
186
191
|
value: '50.00',
|
|
@@ -193,9 +198,9 @@ export const mockServices = [
|
|
|
193
198
|
_id: 'service-2',
|
|
194
199
|
name: 'Service Two',
|
|
195
200
|
description: 'Description for service two',
|
|
196
|
-
type: ServiceType.CLASS,
|
|
201
|
+
type: auto_sdk_bookings_services_1.ServiceType.CLASS,
|
|
197
202
|
payment: {
|
|
198
|
-
rateType: RateType.FIXED,
|
|
203
|
+
rateType: auto_sdk_bookings_services_1.RateType.FIXED,
|
|
199
204
|
fixed: {
|
|
200
205
|
price: {
|
|
201
206
|
value: '75.00',
|
|
@@ -209,9 +214,9 @@ export const mockServices = [
|
|
|
209
214
|
_id: 'service-3',
|
|
210
215
|
name: 'Service Three',
|
|
211
216
|
description: 'Description for service three',
|
|
212
|
-
type: ServiceType.COURSE,
|
|
217
|
+
type: auto_sdk_bookings_services_1.ServiceType.COURSE,
|
|
213
218
|
payment: {
|
|
214
|
-
rateType: RateType.CUSTOM,
|
|
219
|
+
rateType: auto_sdk_bookings_services_1.RateType.CUSTOM,
|
|
215
220
|
custom: {
|
|
216
221
|
description: 'Contact for pricing',
|
|
217
222
|
},
|
|
@@ -222,7 +227,7 @@ export const mockServices = [
|
|
|
222
227
|
/**
|
|
223
228
|
* Default paging metadata
|
|
224
229
|
*/
|
|
225
|
-
|
|
230
|
+
exports.mockPagingMetadata = {
|
|
226
231
|
limit: 10,
|
|
227
232
|
offset: 0,
|
|
228
233
|
count: 3,
|
|
@@ -231,7 +236,7 @@ export const mockPagingMetadata = {
|
|
|
231
236
|
/**
|
|
232
237
|
* Paging metadata with more items available
|
|
233
238
|
*/
|
|
234
|
-
|
|
239
|
+
exports.mockPagingMetadataWithMore = {
|
|
235
240
|
limit: 10,
|
|
236
241
|
offset: 0,
|
|
237
242
|
count: 10,
|
|
@@ -240,7 +245,7 @@ export const mockPagingMetadataWithMore = {
|
|
|
240
245
|
/**
|
|
241
246
|
* Empty paging metadata
|
|
242
247
|
*/
|
|
243
|
-
|
|
248
|
+
exports.mockPagingMetadataEmpty = {
|
|
244
249
|
limit: 10,
|
|
245
250
|
offset: 0,
|
|
246
251
|
count: 0,
|
|
@@ -249,51 +254,51 @@ export const mockPagingMetadataEmpty = {
|
|
|
249
254
|
/**
|
|
250
255
|
* Service list config with services
|
|
251
256
|
*/
|
|
252
|
-
|
|
253
|
-
services: mockServices,
|
|
257
|
+
exports.mockServiceListConfig = {
|
|
258
|
+
services: exports.mockServices,
|
|
254
259
|
options: {
|
|
255
|
-
appId: BOOKING_APP_ID,
|
|
256
|
-
pagingMetadata: mockPagingMetadata,
|
|
260
|
+
appId: constants_js_1.BOOKING_APP_ID,
|
|
261
|
+
pagingMetadata: exports.mockPagingMetadata,
|
|
257
262
|
},
|
|
258
263
|
};
|
|
259
264
|
/**
|
|
260
265
|
* Service list config with hasNext for pagination testing
|
|
261
266
|
*/
|
|
262
|
-
|
|
263
|
-
services: mockServices,
|
|
267
|
+
exports.mockServiceListConfigWithMore = {
|
|
268
|
+
services: exports.mockServices,
|
|
264
269
|
options: {
|
|
265
|
-
appId: BOOKING_APP_ID,
|
|
266
|
-
pagingMetadata: mockPagingMetadataWithMore,
|
|
270
|
+
appId: constants_js_1.BOOKING_APP_ID,
|
|
271
|
+
pagingMetadata: exports.mockPagingMetadataWithMore,
|
|
267
272
|
},
|
|
268
273
|
};
|
|
269
274
|
/**
|
|
270
275
|
* Empty service list config
|
|
271
276
|
*/
|
|
272
|
-
|
|
277
|
+
exports.mockEmptyServiceListConfig = {
|
|
273
278
|
services: [],
|
|
274
279
|
options: {
|
|
275
|
-
appId: BOOKING_APP_ID,
|
|
276
|
-
pagingMetadata: mockPagingMetadataEmpty,
|
|
280
|
+
appId: constants_js_1.BOOKING_APP_ID,
|
|
281
|
+
pagingMetadata: exports.mockPagingMetadataEmpty,
|
|
277
282
|
},
|
|
278
283
|
};
|
|
279
284
|
/**
|
|
280
285
|
* Service config for single service
|
|
281
286
|
*/
|
|
282
|
-
|
|
283
|
-
service: mockService,
|
|
284
|
-
appId: BOOKING_APP_ID,
|
|
287
|
+
exports.mockServiceConfig = {
|
|
288
|
+
service: exports.mockService,
|
|
289
|
+
appId: constants_js_1.BOOKING_APP_ID,
|
|
285
290
|
};
|
|
286
291
|
/**
|
|
287
292
|
* Helper to create a large list of services for pagination tests
|
|
288
293
|
*/
|
|
289
|
-
|
|
294
|
+
function createLargeServiceList(count) {
|
|
290
295
|
return Array.from({ length: count }, (_, i) => ({
|
|
291
296
|
_id: `service-${i}`,
|
|
292
297
|
name: `Service ${i}`,
|
|
293
298
|
description: `Description for service ${i}`,
|
|
294
|
-
type: ServiceType.APPOINTMENT,
|
|
299
|
+
type: auto_sdk_bookings_services_1.ServiceType.APPOINTMENT,
|
|
295
300
|
payment: {
|
|
296
|
-
rateType: RateType.FIXED,
|
|
301
|
+
rateType: auto_sdk_bookings_services_1.RateType.FIXED,
|
|
297
302
|
fixed: {
|
|
298
303
|
price: {
|
|
299
304
|
value: '50.00',
|
|
@@ -306,7 +311,7 @@ export function createLargeServiceList(count) {
|
|
|
306
311
|
/**
|
|
307
312
|
* Mock categories for filter tests
|
|
308
313
|
*/
|
|
309
|
-
|
|
314
|
+
exports.mockCategories = [
|
|
310
315
|
{
|
|
311
316
|
_id: 'category-1',
|
|
312
317
|
name: 'Wellness',
|
|
@@ -323,12 +328,12 @@ export const mockCategories = [
|
|
|
323
328
|
/**
|
|
324
329
|
* Service list config with categories for filter testing
|
|
325
330
|
*/
|
|
326
|
-
|
|
327
|
-
services: mockServices,
|
|
328
|
-
categories: mockCategories,
|
|
331
|
+
exports.mockServiceListConfigWithCategories = {
|
|
332
|
+
services: exports.mockServices,
|
|
333
|
+
categories: exports.mockCategories,
|
|
329
334
|
options: {
|
|
330
|
-
appId: BOOKING_APP_ID,
|
|
331
|
-
pagingMetadata: mockPagingMetadata,
|
|
335
|
+
appId: constants_js_1.BOOKING_APP_ID,
|
|
336
|
+
pagingMetadata: exports.mockPagingMetadata,
|
|
332
337
|
},
|
|
333
338
|
};
|
|
334
339
|
// ============================================================================
|
|
@@ -337,7 +342,7 @@ export const mockServiceListConfigWithCategories = {
|
|
|
337
342
|
/**
|
|
338
343
|
* Base mock staff member with all fields
|
|
339
344
|
*/
|
|
340
|
-
|
|
345
|
+
exports.mockStaffMember = {
|
|
341
346
|
staffMemberId: 'staff-member-1',
|
|
342
347
|
name: 'John Doe',
|
|
343
348
|
mainMedia: {
|
|
@@ -347,7 +352,7 @@ export const mockStaffMember = {
|
|
|
347
352
|
/**
|
|
348
353
|
* Second mock staff member
|
|
349
354
|
*/
|
|
350
|
-
|
|
355
|
+
exports.mockStaffMember2 = {
|
|
351
356
|
staffMemberId: 'staff-member-2',
|
|
352
357
|
name: 'Jane Smith',
|
|
353
358
|
mainMedia: {
|
|
@@ -357,13 +362,13 @@ export const mockStaffMember2 = {
|
|
|
357
362
|
/**
|
|
358
363
|
* Staff member without optional fields (minimal)
|
|
359
364
|
*/
|
|
360
|
-
|
|
365
|
+
exports.mockStaffMemberMinimal = {
|
|
361
366
|
staffMemberId: 'staff-member-minimal',
|
|
362
367
|
};
|
|
363
368
|
/**
|
|
364
369
|
* Staff member with no name
|
|
365
370
|
*/
|
|
366
|
-
|
|
371
|
+
exports.mockStaffMemberNoName = {
|
|
367
372
|
staffMemberId: 'staff-member-no-name',
|
|
368
373
|
mainMedia: {
|
|
369
374
|
image: 'wix:image://v1/staff-no-name.jpg',
|
|
@@ -372,9 +377,9 @@ export const mockStaffMemberNoName = {
|
|
|
372
377
|
/**
|
|
373
378
|
* Array of mock staff members for list tests
|
|
374
379
|
*/
|
|
375
|
-
|
|
376
|
-
mockStaffMember,
|
|
377
|
-
mockStaffMember2,
|
|
380
|
+
exports.mockStaffMembers = [
|
|
381
|
+
exports.mockStaffMember,
|
|
382
|
+
exports.mockStaffMember2,
|
|
378
383
|
{
|
|
379
384
|
staffMemberId: 'staff-member-3',
|
|
380
385
|
name: 'Bob Johnson',
|
|
@@ -386,25 +391,25 @@ export const mockStaffMembers = [
|
|
|
386
391
|
/**
|
|
387
392
|
* Staff member list config with staff members
|
|
388
393
|
*/
|
|
389
|
-
|
|
390
|
-
staffMembers: mockStaffMembers,
|
|
394
|
+
exports.mockStaffMemberListConfig = {
|
|
395
|
+
staffMembers: exports.mockStaffMembers,
|
|
391
396
|
};
|
|
392
397
|
/**
|
|
393
398
|
* Empty staff member list config
|
|
394
399
|
*/
|
|
395
|
-
|
|
400
|
+
exports.mockEmptyStaffMemberListConfig = {
|
|
396
401
|
staffMembers: [],
|
|
397
402
|
};
|
|
398
403
|
/**
|
|
399
404
|
* Single staff member list config
|
|
400
405
|
*/
|
|
401
|
-
|
|
402
|
-
staffMembers: [mockStaffMember],
|
|
406
|
+
exports.mockSingleStaffMemberListConfig = {
|
|
407
|
+
staffMembers: [exports.mockStaffMember],
|
|
403
408
|
};
|
|
404
409
|
/**
|
|
405
410
|
* Helper to create a large list of staff members for tests
|
|
406
411
|
*/
|
|
407
|
-
|
|
412
|
+
function createLargeStaffMemberList(count) {
|
|
408
413
|
return Array.from({ length: count }, (_, i) => ({
|
|
409
414
|
staffMemberId: `staff-member-${i}`,
|
|
410
415
|
name: `Staff Member ${i}`,
|
|
@@ -419,12 +424,12 @@ export function createLargeStaffMemberList(count) {
|
|
|
419
424
|
/**
|
|
420
425
|
* Mock service with deposit configured
|
|
421
426
|
*/
|
|
422
|
-
|
|
423
|
-
...mockService,
|
|
427
|
+
exports.mockServiceWithDeposit = {
|
|
428
|
+
...exports.mockService,
|
|
424
429
|
_id: 'test-service-deposit',
|
|
425
430
|
name: 'Service with Deposit',
|
|
426
431
|
payment: {
|
|
427
|
-
rateType: RateType.FIXED,
|
|
432
|
+
rateType: auto_sdk_bookings_services_1.RateType.FIXED,
|
|
428
433
|
fixed: {
|
|
429
434
|
price: {
|
|
430
435
|
value: '100.00',
|
|
@@ -440,12 +445,12 @@ export const mockServiceWithDeposit = {
|
|
|
440
445
|
/**
|
|
441
446
|
* Mock service with in-person payment option
|
|
442
447
|
*/
|
|
443
|
-
|
|
444
|
-
...mockService,
|
|
448
|
+
exports.mockServiceInPerson = {
|
|
449
|
+
...exports.mockService,
|
|
445
450
|
_id: 'test-service-in-person',
|
|
446
451
|
name: 'In Person Payment Service',
|
|
447
452
|
payment: {
|
|
448
|
-
rateType: RateType.FIXED,
|
|
453
|
+
rateType: auto_sdk_bookings_services_1.RateType.FIXED,
|
|
449
454
|
fixed: {
|
|
450
455
|
price: {
|
|
451
456
|
value: '50.00',
|