@feedmepos/mf-order-setting 0.0.84 → 0.0.85
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/dist/DisplaySystemView-hmlT9gsb.js +6485 -0
- package/dist/{KioskDevicesView-DdwFuenU.js → KioskDevicesView-fW6M9Hao.js} +1 -1
- package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-CxtLm_oh.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-GrsnYo80.js} +3 -3
- package/dist/KioskSettingView-BdEPftHH.js +839 -0
- package/dist/{KioskView-fwBwUGCQ.js → KioskView-Bwk9S0tc.js} +82 -70
- package/dist/{OrderSettingsView-RhlyZmzs.js → OrderSettingsView-DVXfVdXj.js} +30858 -30699
- package/dist/{app-ClOkRxOZ.js → app-BnrruYco.js} +74 -12
- package/dist/app.js +1 -1
- package/dist/display-preview/assets/BandBoard-DIcfXsNV.js +1 -0
- package/dist/display-preview/assets/CarouselBlock-XAhTyEWB.js +1 -0
- package/dist/display-preview/assets/{CategoryBoard-DClMUGfS.js → CategoryBoard-DBKe18hv.js} +1 -1
- package/dist/display-preview/assets/ImageBlock-BCbnYSHq.js +1 -0
- package/dist/display-preview/assets/PickupMode-Df_TPCh8.js +1 -0
- package/dist/display-preview/assets/{StatusBoard-BVESD28J.js → StatusBoard-28z3bPOf.js} +1 -1
- package/dist/display-preview/assets/TextBlock-CvJKITtx.js +1 -0
- package/dist/display-preview/assets/VideoBlock-Dop43wDv.js +1 -0
- package/dist/display-preview/assets/index-C6DET5zJ.css +1 -0
- package/dist/display-preview/assets/index-cqMoOpSN.js +2 -0
- package/dist/display-preview/assets/pickupView-DRMVXqrc.js +1 -0
- package/dist/display-preview/index.html +2 -2
- package/dist/frontend/mf-order/src/app.d.ts +62 -0
- package/dist/frontend/mf-order/src/main.d.ts +62 -0
- package/dist/frontend/mf-order/src/modules/display-system/interface.d.ts +21 -0
- package/dist/frontend/mf-order/src/modules/order-setting/kiosk/coverCarousel.d.ts +69 -0
- package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +5 -1
- package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +90 -3
- package/dist/frontend/mf-order/src/views/display-system/DisplayFieldControl.vue.d.ts +3 -0
- package/dist/frontend/mf-order/src/views/display-system/DisplayInspector.vue.d.ts +3 -13
- package/dist/frontend/mf-order/src/views/order-settings/auto-send-kitchen.d.ts +58 -0
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue.d.ts +16 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialogContent.vue.d.ts +16 -1
- package/dist/frontend/mf-order/src/views/order-settings/useAutoSendGuard.d.ts +48 -0
- package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{index-CKEbr9Es.js → index-D5wABuUx.js} +1 -1
- package/dist/{index-5k7kGCpJ.js → index-D7IWjZdy.js} +2 -2
- package/dist/{index-I2YGevce.js → index-LyvBqKnv.js} +1 -1
- package/dist/{order.dto-Dbn-hRrm.js → order.dto-D7HGiueX.js} +3579 -3428
- package/dist/package/entity/alert/investigation.dto.d.ts +25 -6
- package/dist/package/entity/alert/lark-callback.dto.d.ts +31 -12
- package/dist/package/entity/alert/suggestion.dto.d.ts +4 -4
- package/dist/package/entity/display/blocks.d.ts +42 -76
- package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +47 -36
- package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +1 -0
- package/dist/package/entity/index.d.ts +2 -0
- package/dist/package/entity/index.frontend.d.ts +2 -0
- package/dist/package/entity/order/effects/effect.dto.d.ts +266 -0
- package/dist/package/entity/order/order-item/order-item.dto.d.ts +36 -36
- package/dist/package/entity/order/order.do.d.ts +7 -64
- package/dist/package/entity/order/order.dto.d.ts +13006 -795
- package/dist/package/entity/order-platform/grabfood/grabfood-settings.do.d.ts +13 -0
- package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +3 -0
- package/dist/package/entity/order-platform/menu.dto.d.ts +10 -10
- package/dist/package/entity/order-platform/shopeefood/shopeefood-order.dto.d.ts +11 -8
- package/dist/package/entity/order-setting/auto-accept.dto.d.ts +94 -0
- package/dist/package/entity/order-setting/auto-send.resolve.d.ts +110 -0
- package/dist/package/entity/order-setting/delivery/inhouse-delivery.do.d.ts +3 -0
- package/dist/package/entity/order-setting/delivery/inhouse-delivery.dto.d.ts +3 -0
- package/dist/package/entity/order-setting/dine-in/dine-in.do.d.ts +3 -0
- package/dist/package/entity/order-setting/dine-in/dine-in.dto.d.ts +3 -0
- package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +26 -0
- package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +39 -0
- package/dist/package/entity/order-setting/order-setting.do.d.ts +57 -4
- package/dist/package/entity/order-setting/order-setting.dto.d.ts +259 -9
- package/dist/package/entity/order-setting/pickup/pickup.do.d.ts +3 -0
- package/dist/package/entity/order-setting/pickup/pickup.dto.d.ts +3 -0
- package/dist/package/entity/order-setting/queue/queue.do.d.ts +2 -2
- package/dist/package/entity/order-setting/queue/queue.dto.d.ts +2 -2
- package/dist/package/entity/queue/queue.dto.d.ts +48 -48
- package/dist/package/entity/restaurant/restaurant.dto.d.ts +46 -8
- package/dist/package/entity/websocket/websocket.dto.d.ts +88 -0
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/locales/en-US.json +22 -2
- package/src/locales/ja-JP.json +12 -1
- package/src/locales/th-TH.json +12 -1
- package/src/locales/zh-CN.json +22 -2
- package/src/modules/display-system/interface.spec.ts +32 -18
- package/src/modules/display-system/interface.ts +32 -0
- package/src/modules/order-setting/kiosk/coverCarousel.spec.ts +172 -0
- package/src/modules/order-setting/kiosk/coverCarousel.ts +186 -0
- package/src/modules/order-setting/kiosk/interface.ts +138 -127
- package/src/stores/order-setting/mapper.spec.ts +26 -0
- package/src/stores/order-setting/mapper.ts +305 -293
- package/src/views/display-system/DisplayFieldControl.vue +46 -0
- package/src/views/display-system/DisplayInspector.vue +8 -3
- package/src/views/display-system/DisplaySystemView.vue +7 -3
- package/src/views/display-system/DisplayTemplateEditor.vue +28 -2
- package/src/views/kiosk/settings/KioskSettingView.vue +176 -60
- package/src/views/order-settings/auto-send-kitchen.spec.ts +137 -0
- package/src/views/order-settings/auto-send-kitchen.ts +92 -0
- package/src/views/order-settings/auto-send-resolve.spec.ts +123 -0
- package/src/views/order-settings/delivery/DeliverySetting.vue +10 -0
- package/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue +40 -5
- package/src/views/order-settings/dine-in/DineInSetting.vue +38 -5
- package/src/views/order-settings/pickup/PickUpSetting.vue +1 -0
- package/src/views/order-settings/pickup/PickUpSettingDialogContent.vue +38 -5
- package/src/views/order-settings/queue/QueueSetting.vue +6 -9
- package/src/views/order-settings/useAutoSendGuard.ts +142 -0
- package/tsconfig.app.json +10 -1
- package/dist/DisplaySystemView-4Bz8p26A.js +0 -5892
- package/dist/KioskSettingView-D57KtQ-t.js +0 -711
- package/dist/display-preview/assets/BandBoard-BrDTYDc9.js +0 -1
- package/dist/display-preview/assets/CarouselBlock-CrkGxoGk.js +0 -1
- package/dist/display-preview/assets/ImageBlock-DtgfHd5G.js +0 -1
- package/dist/display-preview/assets/PickupMode-DKmqGlG8.js +0 -1
- package/dist/display-preview/assets/TextBlock-gAfeCCmE.js +0 -1
- package/dist/display-preview/assets/index-BB0ReVXy.js +0 -2
- package/dist/display-preview/assets/index-BWVpFSIw.css +0 -1
- package/dist/display-preview/assets/pickupView-C-BGcOu8.js +0 -1
|
@@ -1,127 +1,138 @@
|
|
|
1
|
-
import { FdoEPaymentMethod, F_ORDER_PAYMENT_TYPE } from "@entity";
|
|
2
|
-
import { FdoOfflinePaymentMethod } from '@feedmepos/core/entity';
|
|
3
|
-
|
|
4
|
-
export interface MfKioskSubmitOrderInstruction {
|
|
5
|
-
payAtCounter: string | null,
|
|
6
|
-
paid: string | null,
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export type KioskSubmitOrderInstructionForm = MfKioskSubmitOrderInstruction;
|
|
10
|
-
|
|
11
|
-
export interface MfDisplayStandSetting {
|
|
12
|
-
enabled: boolean,
|
|
13
|
-
standSlotRange: {
|
|
14
|
-
min: number,
|
|
15
|
-
max: number,
|
|
16
|
-
},
|
|
17
|
-
prefix: string | null,
|
|
18
|
-
padDigit: number,
|
|
19
|
-
enablePaxDialog: boolean,
|
|
20
|
-
submitOrderInstruction: MfKioskSubmitOrderInstruction,
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface DisplayStandSettingForm {
|
|
24
|
-
enabled: boolean,
|
|
25
|
-
standSlotRange: {
|
|
26
|
-
min: number | null,
|
|
27
|
-
max: number | null
|
|
28
|
-
},
|
|
29
|
-
prefix: string | null,
|
|
30
|
-
padDigit: number | null,
|
|
31
|
-
enablePaxDialog: boolean,
|
|
32
|
-
submitOrderInstruction: KioskSubmitOrderInstructionForm,
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface MfKioskPickAtCounterSetting {
|
|
36
|
-
enabled: boolean,
|
|
37
|
-
enablePaxDialog: boolean,
|
|
38
|
-
submitOrderInstruction: MfKioskSubmitOrderInstruction,
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface PickAtCounterSettingForm {
|
|
42
|
-
enabled: boolean,
|
|
43
|
-
enablePaxDialog: boolean,
|
|
44
|
-
submitOrderInstruction: KioskSubmitOrderInstructionForm,
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export interface MfKioskSequenceNumberSetting {
|
|
48
|
-
prefix: string,
|
|
49
|
-
current: number,
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface MfKioskDineInSetting {
|
|
53
|
-
enabled: boolean,
|
|
54
|
-
sequenceNumber: MfKioskSequenceNumberSetting,
|
|
55
|
-
displayStand: MfDisplayStandSetting,
|
|
56
|
-
pickUp: MfKioskPickAtCounterSetting,
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface MfKioskTakeawaySetting {
|
|
60
|
-
enabled: boolean,
|
|
61
|
-
submitOrderInstruction: MfKioskSubmitOrderInstruction,
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export interface MfKioskPaymentSetting {
|
|
65
|
-
paymentTypes: MfKioskPaymentTypes,
|
|
66
|
-
offlinePaymentTypes: FdoOfflinePaymentMethod[],
|
|
67
|
-
ePaymentTypes: FdoEPaymentMethod
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export type MfKioskPaymentTypes = F_ORDER_PAYMENT_TYPE[];
|
|
71
|
-
|
|
72
|
-
export type KioskTakeawaySettingForm = MfKioskTakeawaySetting;
|
|
73
|
-
|
|
74
|
-
export type KioskPaymentTypesForm = MfKioskPaymentTypes;
|
|
75
|
-
|
|
76
|
-
export type KioskPaymentSettingForm = MfKioskPaymentSetting;
|
|
77
|
-
|
|
78
|
-
export interface MfKioskOrderSetting {
|
|
79
|
-
dineIn: MfKioskDineInSetting,
|
|
80
|
-
takeaway: MfKioskTakeawaySetting,
|
|
81
|
-
paymentSetting: MfKioskPaymentSetting,
|
|
82
|
-
menuItem: MfKioskOrderSettingMenuItemForm,
|
|
83
|
-
coverImageLandscape: string | null,
|
|
84
|
-
coverImagePortrait: string | null,
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
1
|
+
import { FdoEPaymentMethod, F_ORDER_PAYMENT_TYPE, type OrderKioskSettings } from "@entity";
|
|
2
|
+
import { FdoOfflinePaymentMethod } from '@feedmepos/core/entity';
|
|
3
|
+
|
|
4
|
+
export interface MfKioskSubmitOrderInstruction {
|
|
5
|
+
payAtCounter: string | null,
|
|
6
|
+
paid: string | null,
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type KioskSubmitOrderInstructionForm = MfKioskSubmitOrderInstruction;
|
|
10
|
+
|
|
11
|
+
export interface MfDisplayStandSetting {
|
|
12
|
+
enabled: boolean,
|
|
13
|
+
standSlotRange: {
|
|
14
|
+
min: number,
|
|
15
|
+
max: number,
|
|
16
|
+
},
|
|
17
|
+
prefix: string | null,
|
|
18
|
+
padDigit: number,
|
|
19
|
+
enablePaxDialog: boolean,
|
|
20
|
+
submitOrderInstruction: MfKioskSubmitOrderInstruction,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface DisplayStandSettingForm {
|
|
24
|
+
enabled: boolean,
|
|
25
|
+
standSlotRange: {
|
|
26
|
+
min: number | null,
|
|
27
|
+
max: number | null
|
|
28
|
+
},
|
|
29
|
+
prefix: string | null,
|
|
30
|
+
padDigit: number | null,
|
|
31
|
+
enablePaxDialog: boolean,
|
|
32
|
+
submitOrderInstruction: KioskSubmitOrderInstructionForm,
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface MfKioskPickAtCounterSetting {
|
|
36
|
+
enabled: boolean,
|
|
37
|
+
enablePaxDialog: boolean,
|
|
38
|
+
submitOrderInstruction: MfKioskSubmitOrderInstruction,
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface PickAtCounterSettingForm {
|
|
42
|
+
enabled: boolean,
|
|
43
|
+
enablePaxDialog: boolean,
|
|
44
|
+
submitOrderInstruction: KioskSubmitOrderInstructionForm,
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface MfKioskSequenceNumberSetting {
|
|
48
|
+
prefix: string,
|
|
49
|
+
current: number,
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface MfKioskDineInSetting {
|
|
53
|
+
enabled: boolean,
|
|
54
|
+
sequenceNumber: MfKioskSequenceNumberSetting,
|
|
55
|
+
displayStand: MfDisplayStandSetting,
|
|
56
|
+
pickUp: MfKioskPickAtCounterSetting,
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface MfKioskTakeawaySetting {
|
|
60
|
+
enabled: boolean,
|
|
61
|
+
submitOrderInstruction: MfKioskSubmitOrderInstruction,
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface MfKioskPaymentSetting {
|
|
65
|
+
paymentTypes: MfKioskPaymentTypes,
|
|
66
|
+
offlinePaymentTypes: FdoOfflinePaymentMethod[],
|
|
67
|
+
ePaymentTypes: FdoEPaymentMethod
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export type MfKioskPaymentTypes = F_ORDER_PAYMENT_TYPE[];
|
|
71
|
+
|
|
72
|
+
export type KioskTakeawaySettingForm = MfKioskTakeawaySetting;
|
|
73
|
+
|
|
74
|
+
export type KioskPaymentTypesForm = MfKioskPaymentTypes;
|
|
75
|
+
|
|
76
|
+
export type KioskPaymentSettingForm = MfKioskPaymentSetting;
|
|
77
|
+
|
|
78
|
+
export interface MfKioskOrderSetting {
|
|
79
|
+
dineIn: MfKioskDineInSetting,
|
|
80
|
+
takeaway: MfKioskTakeawaySetting,
|
|
81
|
+
paymentSetting: MfKioskPaymentSetting,
|
|
82
|
+
menuItem: MfKioskOrderSettingMenuItemForm,
|
|
83
|
+
coverImageLandscape: string | null,
|
|
84
|
+
coverImagePortrait: string | null,
|
|
85
|
+
// Multi-image landing background. Edited by the cover-image section of
|
|
86
|
+
// KioskSettingView; it must also stay listed here because the backend
|
|
87
|
+
// $sets kioskSettings as a whole subdocument, so any field the mapper does
|
|
88
|
+
// not rebuild is deleted on the next save of an unrelated kiosk field.
|
|
89
|
+
coverCarousel?: OrderKioskSettings['coverCarousel'],
|
|
90
|
+
otaChannel?: string | null,
|
|
91
|
+
// null = merchant never chose; the backend then keeps inheriting
|
|
92
|
+
// dineInSettings. Must stay nullable end-to-end or saving any unrelated
|
|
93
|
+
// kiosk field would persist `false` and silently kill inheritance.
|
|
94
|
+
autoSendKitchen: boolean | null,
|
|
95
|
+
autoCloseBill: boolean | null,
|
|
96
|
+
printReceiptAfterClose: boolean | null,
|
|
97
|
+
// Locales the kiosk may offer the customer. null or [] = no restriction,
|
|
98
|
+
// i.e. the kiosk shows every language it ships. Anything else is the exact
|
|
99
|
+
// allowed set.
|
|
100
|
+
languages: string[] | null,
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface MfKioskOrderSettingMenuItemForm {
|
|
104
|
+
showAllOnly: boolean,
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export interface MfKioskOrderSettingForm {
|
|
108
|
+
dineIn: KioskDineInSettingForm,
|
|
109
|
+
takeaway: KioskTakeawaySettingForm,
|
|
110
|
+
paymentSetting: KioskPaymentSettingForm,
|
|
111
|
+
menuItem: KioskMenuItemSettingForm,
|
|
112
|
+
coverImageLandscape: string | null,
|
|
113
|
+
coverImagePortrait: string | null,
|
|
114
|
+
// Multi-image landing background, edited together with the two single
|
|
115
|
+
// fields above — the form shows ONE list per orientation and
|
|
116
|
+
// modules/order-setting/kiosk/coverCarousel.ts maps it onto both fields.
|
|
117
|
+
coverCarousel?: OrderKioskSettings['coverCarousel'],
|
|
118
|
+
otaChannel?: string | null,
|
|
119
|
+
// null = merchant never chose; the backend then keeps inheriting
|
|
120
|
+
// dineInSettings. Must stay nullable end-to-end or saving any unrelated
|
|
121
|
+
// kiosk field would persist `false` and silently kill inheritance.
|
|
122
|
+
autoSendKitchen: boolean | null,
|
|
123
|
+
autoCloseBill: boolean | null,
|
|
124
|
+
printReceiptAfterClose: boolean | null,
|
|
125
|
+
// Locales the kiosk may offer the customer. null or [] = no restriction,
|
|
126
|
+
// i.e. the kiosk shows every language it ships. Anything else is the exact
|
|
127
|
+
// allowed set.
|
|
128
|
+
languages: string[] | null,
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export type KioskPickAtCounterSettingForm = MfKioskPickAtCounterSetting;
|
|
132
|
+
export type KioskMenuItemSettingForm = MfKioskOrderSettingMenuItemForm;
|
|
133
|
+
export interface KioskDineInSettingForm {
|
|
134
|
+
enabled: boolean,
|
|
135
|
+
sequenceNumber: MfKioskSequenceNumberSetting,
|
|
136
|
+
displayStand: DisplayStandSettingForm,
|
|
137
|
+
pickUp: KioskPickAtCounterSettingForm,
|
|
138
|
+
}
|
|
@@ -42,3 +42,29 @@ describe('kiosk languages round-trip', () => {
|
|
|
42
42
|
])
|
|
43
43
|
})
|
|
44
44
|
})
|
|
45
|
+
|
|
46
|
+
describe('kiosk cover carousel round-trip', () => {
|
|
47
|
+
const carousel = { landscape: ['l1.jpg', 'l2.jpg'], portrait: ['p1.jpg'], intervalMs: 9000 }
|
|
48
|
+
|
|
49
|
+
it('reads a stored carousel back onto the form', () => {
|
|
50
|
+
expect(toKioskForm({ coverCarousel: carousel }).coverCarousel).toEqual(carousel)
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
it('reads an unset carousel as undefined', () => {
|
|
54
|
+
expect(toKioskForm({}).coverCarousel).toBeUndefined()
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
// The regression this guards: the write side rebuilds kioskSettings field by
|
|
58
|
+
// field and the backend $sets the whole subdocument, so a field the mapper
|
|
59
|
+
// forgets is DELETED the next time the merchant saves some unrelated kiosk
|
|
60
|
+
// setting. Same class of bug as the language/queue-segment guards above.
|
|
61
|
+
it('survives a save of an unrelated kiosk field', () => {
|
|
62
|
+
const form = { ...defaultKioskOrderSetting, coverCarousel: carousel, otaChannel: 'beta' }
|
|
63
|
+
expect(saved(form).coverCarousel).toEqual(carousel)
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
it('writes null through, so clearing the last extra image really removes it', () => {
|
|
67
|
+
const form = { ...defaultKioskOrderSetting, coverCarousel: null }
|
|
68
|
+
expect(saved(form).coverCarousel).toBeNull()
|
|
69
|
+
})
|
|
70
|
+
})
|