@coveo/quantic 3.16.0 → 3.16.1-pre.9c01cf606f

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.
Files changed (109) hide show
  1. package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +2 -2
  2. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/recent-queries-list/headless-recent-queries-list.d.ts +5 -0
  3. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/recent-queries-list/headless-recent-queries-list.d.ts +5 -0
  4. package/force-app/main/default/staticresources/coveoheadless/headless.js +10 -10
  5. package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +2 -2
  6. package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +2 -2
  7. package/package.json +5 -3
  8. package/force-app/main/default/lwc/quanticBreadcrumbManager/__tests__/quanticBreadcrumbManager.test.js +0 -604
  9. package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/fixture.ts +0 -76
  10. package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/pageObject.ts +0 -282
  11. package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/quanticBreadcrumbManager.e2e.ts +0 -167
  12. package/force-app/main/default/lwc/quanticCarousel/__tests__/quanticCarousel.test.js +0 -262
  13. package/force-app/main/default/lwc/quanticCaseClassification/__tests__/quanticCaseClassification.test.js +0 -819
  14. package/force-app/main/default/lwc/quanticCaseClassification/e2e/data.ts +0 -23
  15. package/force-app/main/default/lwc/quanticCaseClassification/e2e/fixture.ts +0 -51
  16. package/force-app/main/default/lwc/quanticCaseClassification/e2e/pageObject.ts +0 -152
  17. package/force-app/main/default/lwc/quanticCaseClassification/e2e/quanticCaseClassification.e2e.ts +0 -269
  18. package/force-app/main/default/lwc/quanticCategoryFacet/__tests__/quanticCategoryFacet.test.js +0 -327
  19. package/force-app/main/default/lwc/quanticCitation/__tests__/quanticCitation.test.js +0 -269
  20. package/force-app/main/default/lwc/quanticColoredResultBadge/__tests__/quanticColoredResultBadge.test.js +0 -212
  21. package/force-app/main/default/lwc/quanticDateFacet/__tests__/quanticDateFacet.test.js +0 -321
  22. package/force-app/main/default/lwc/quanticDidYouMean/__tests__/quanticDidYouMean.test.js +0 -199
  23. package/force-app/main/default/lwc/quanticFacet/__tests__/quanticFacet.test.js +0 -341
  24. package/force-app/main/default/lwc/quanticFacetCaption/__tests__/quanticFacetCaption.test.js +0 -28
  25. package/force-app/main/default/lwc/quanticFacetManager/__tests__/quanticFacetManager.test.js +0 -178
  26. package/force-app/main/default/lwc/quanticFacetManager/e2e/fixture.ts +0 -63
  27. package/force-app/main/default/lwc/quanticFacetManager/e2e/pageObject.ts +0 -23
  28. package/force-app/main/default/lwc/quanticFacetManager/e2e/quanticFacetManager.e2e.ts +0 -82
  29. package/force-app/main/default/lwc/quanticFeedback/__tests__/quanticFeedback.test.js +0 -392
  30. package/force-app/main/default/lwc/quanticFeedbackModal/__tests__/quanticFeedbackModal.test.js +0 -448
  31. package/force-app/main/default/lwc/quanticFeedbackModalQna/__tests__/quanticFeedbackModalQna.test.js +0 -298
  32. package/force-app/main/default/lwc/quanticGeneratedAnswer/__tests__/quanticGeneratedAnswer.test.js +0 -814
  33. package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/data.ts +0 -56
  34. package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/fixture.ts +0 -87
  35. package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/pageObject.ts +0 -283
  36. package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/quanticGeneratedAnswer.e2e.ts +0 -199
  37. package/force-app/main/default/lwc/quanticGeneratedAnswerContent/__tests__/quanticGeneratedAnswerContent.test.js +0 -151
  38. package/force-app/main/default/lwc/quanticHeading/__tests__/quanticHeading.test.js +0 -71
  39. package/force-app/main/default/lwc/quanticHeadlessLoader/__tests__/quanticHeadlessLoader.test.js +0 -651
  40. package/force-app/main/default/lwc/quanticNotifications/__tests__/quanticNotifications.test.js +0 -335
  41. package/force-app/main/default/lwc/quanticNumericFacet/__tests__/quanticNumericFacet.test.js +0 -343
  42. package/force-app/main/default/lwc/quanticPager/e2e/fixture.ts +0 -63
  43. package/force-app/main/default/lwc/quanticPager/e2e/pageObject.ts +0 -69
  44. package/force-app/main/default/lwc/quanticPager/e2e/quanticPager.e2e.ts +0 -101
  45. package/force-app/main/default/lwc/quanticQuickviewContent/__tests__/data/defaultTestCase.json +0 -13
  46. package/force-app/main/default/lwc/quanticQuickviewContent/__tests__/data/youtubeTestCase.json +0 -14
  47. package/force-app/main/default/lwc/quanticQuickviewContent/__tests__/quanticQuickviewContent.test.js +0 -82
  48. package/force-app/main/default/lwc/quanticRadioButtonsGroup/__tests__/quanticRadioButtonsGroup.test.js +0 -273
  49. package/force-app/main/default/lwc/quanticRefineModalContent/__tests__/quanticRefineModalContent.test.js +0 -501
  50. package/force-app/main/default/lwc/quanticResultAction/__tests__/quanticResultAction.test.js +0 -262
  51. package/force-app/main/default/lwc/quanticResultActionBar/__tests__/quanticResultActionBar.test.js +0 -141
  52. package/force-app/main/default/lwc/quanticResultChildren/__tests__/quanticResultChildren.test.js +0 -340
  53. package/force-app/main/default/lwc/quanticResultDate/__tests__/quanticResultDate.test.js +0 -144
  54. package/force-app/main/default/lwc/quanticResultField/__tests__/quanticResultField.test.js +0 -120
  55. package/force-app/main/default/lwc/quanticResultHighlightedTextField/__tests__/quanticResultHighlightedTextField.test.js +0 -209
  56. package/force-app/main/default/lwc/quanticResultLink/__tests__/quanticResultLink.test.js +0 -261
  57. package/force-app/main/default/lwc/quanticResultMultiValueText/__tests__/quanticResultMultiValueText.test.js +0 -235
  58. package/force-app/main/default/lwc/quanticResultNumber/__tests__/quanticResultNumber.test.js +0 -144
  59. package/force-app/main/default/lwc/quanticResultPrintableUri/__tests__/quanticResultPrintableUri.test.js +0 -324
  60. package/force-app/main/default/lwc/quanticResultQuickview/__tests__/quanticResultQuickview.test.js +0 -171
  61. package/force-app/main/default/lwc/quanticResultText/__tests__/quanticResultText.test.js +0 -155
  62. package/force-app/main/default/lwc/quanticResultsPerPage/__tests__/quanticResultsPerPage.test.js +0 -404
  63. package/force-app/main/default/lwc/quanticResultsPerPage/e2e/fixture.ts +0 -74
  64. package/force-app/main/default/lwc/quanticResultsPerPage/e2e/pageObject.ts +0 -85
  65. package/force-app/main/default/lwc/quanticResultsPerPage/e2e/quanticResultsPerPage.e2e.ts +0 -97
  66. package/force-app/main/default/lwc/quanticSearchBox/__tests__/quanticSearchBox.test.js +0 -168
  67. package/force-app/main/default/lwc/quanticSearchBoxInput/__tests__/quanticSearchBoxInput.test.js +0 -823
  68. package/force-app/main/default/lwc/quanticSmartSnippet/__tests__/quanticSmartSnippet.test.js +0 -341
  69. package/force-app/main/default/lwc/quanticSmartSnippet/e2e/data.ts +0 -21
  70. package/force-app/main/default/lwc/quanticSmartSnippet/e2e/fixture.ts +0 -91
  71. package/force-app/main/default/lwc/quanticSmartSnippet/e2e/pageObject.ts +0 -196
  72. package/force-app/main/default/lwc/quanticSmartSnippet/e2e/quanticSmartSnippet.e2e.ts +0 -168
  73. package/force-app/main/default/lwc/quanticSmartSnippetAnswer/__tests__/quanticSmartSnippetAnswer.test.js +0 -126
  74. package/force-app/main/default/lwc/quanticSmartSnippetSource/__tests__/quanticSmartSnippetSource.test.js +0 -290
  75. package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/__tests__/quanticSmartSnippetSuggestions.test.js +0 -329
  76. package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/e2e/data.ts +0 -31
  77. package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/e2e/fixture.ts +0 -93
  78. package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/e2e/pageObject.ts +0 -160
  79. package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/e2e/quanticSmartSnippetSuggestions.e2e.ts +0 -127
  80. package/force-app/main/default/lwc/quanticSort/__tests__/quanticSort.test.js +0 -416
  81. package/force-app/main/default/lwc/quanticSort/e2e/fixture.ts +0 -61
  82. package/force-app/main/default/lwc/quanticSort/e2e/pageObject.ts +0 -89
  83. package/force-app/main/default/lwc/quanticSort/e2e/quanticSort.e2e.ts +0 -91
  84. package/force-app/main/default/lwc/quanticSourceCitations/__tests__/quanticSourceCitations.test.js +0 -123
  85. package/force-app/main/default/lwc/quanticStandaloneSearchBox/__tests__/quanticStandaloneSearchBox.test.js +0 -186
  86. package/force-app/main/default/lwc/quanticStatefulButton/__tests__/quanticStatefulButton.test.js +0 -222
  87. package/force-app/main/default/lwc/quanticTab/__tests__/quanticTab.test.js +0 -287
  88. package/force-app/main/default/lwc/quanticTab/e2e/fixture.ts +0 -62
  89. package/force-app/main/default/lwc/quanticTab/e2e/pageObject.ts +0 -67
  90. package/force-app/main/default/lwc/quanticTab/e2e/quanticTab.e2e.ts +0 -77
  91. package/force-app/main/default/lwc/quanticTabBar/__tests__/quanticTabBar.test.js +0 -331
  92. package/force-app/main/default/lwc/quanticTabBar/e2e/fixture.ts +0 -61
  93. package/force-app/main/default/lwc/quanticTabBar/e2e/pageObject.ts +0 -80
  94. package/force-app/main/default/lwc/quanticTabBar/e2e/quanticTabBar.e2e.ts +0 -173
  95. package/force-app/main/default/lwc/quanticTimeframeFacet/__tests__/quanticTimeframeFacet.test.js +0 -339
  96. package/force-app/main/default/lwc/quanticTooltip/__tests__/quanticTooltip.test.js +0 -107
  97. package/force-app/main/default/lwc/quanticUserAction/__tests__/quanticUserAction.test.js +0 -427
  98. package/force-app/main/default/lwc/quanticUserActionsSession/__tests__/quanticUserActionsSession.test.js +0 -269
  99. package/force-app/main/default/lwc/quanticUserActionsTimeline/__tests__/data/userActionsState.json +0 -89
  100. package/force-app/main/default/lwc/quanticUserActionsTimeline/__tests__/quanticUserActionsTimeline.test.js +0 -511
  101. package/force-app/main/default/lwc/quanticUserActionsToggle/__tests__/quanticUserActionsToggle.test.js +0 -229
  102. package/force-app/main/default/lwc/quanticUserActionsToggle/e2e/data.ts +0 -32
  103. package/force-app/main/default/lwc/quanticUserActionsToggle/e2e/fixture.ts +0 -32
  104. package/force-app/main/default/lwc/quanticUserActionsToggle/e2e/pageObject.ts +0 -71
  105. package/force-app/main/default/lwc/quanticUserActionsToggle/e2e/quanticUserActionsToggle.e2e.ts +0 -39
  106. package/force-app/main/default/lwc/quanticUtils/__tests__/facetDependenciesUtils.test.js +0 -92
  107. package/force-app/main/default/lwc/quanticUtils/__tests__/markdownUtils.test.js +0 -71
  108. package/force-app/main/default/lwc/quanticUtils/__tests__/quanticUtils.test.js +0 -223
  109. package/force-app/main/default/lwc/quanticViewedByCustomerBadge/__tests__/quanticViewedByCustomerBadge.test.js +0 -131
@@ -1,262 +0,0 @@
1
- // @ts-ignore
2
- import {createElement} from 'lwc';
3
- import QuanticResultAction from '../quanticResultAction';
4
-
5
- const functionsMocks = {
6
- listener: jest.fn(() => {}),
7
- };
8
-
9
- const selectors = {
10
- tooltip: 'c-quantic-tooltip',
11
- tooltipContent: 'c-quantic-tooltip > div[slot="content"]',
12
- };
13
-
14
- const exampleLabel = 'example label';
15
- const exampleSelectedLabel = 'example label on';
16
- const exampleIconName = 'example icon name';
17
- const exampleEventName = 'example_event_name';
18
- const exampleSelectedIconName = 'example selected icon name';
19
-
20
- const defaultOptions = {
21
- label: exampleLabel,
22
- selectedLabel: exampleSelectedLabel,
23
- selected: false,
24
- iconName: exampleIconName,
25
- eventName: exampleEventName,
26
- loading: false,
27
- selectedIconName: exampleSelectedIconName,
28
- };
29
-
30
- function createTestComponent(options = defaultOptions) {
31
- const element = createElement('c-quantic-result-action', {
32
- is: QuanticResultAction,
33
- });
34
-
35
- for (const [key, value] of Object.entries(options)) {
36
- element[key] = value;
37
- }
38
-
39
- document.body.appendChild(element);
40
- return element;
41
- }
42
-
43
- // Helper function to wait until the microtask queue is empty.
44
- function flushPromises() {
45
- return new Promise((resolve) => setTimeout(resolve, 0));
46
- }
47
-
48
- function clickButton(element) {
49
- const button = element.shadowRoot.querySelector(
50
- 'lightning-button-icon-stateful'
51
- );
52
- expect(button).not.toBeNull();
53
- button.click();
54
- }
55
-
56
- function setupClickSimulation(element, eventName, newState) {
57
- const handler = (event) => {
58
- functionsMocks.listener();
59
- if (newState === 'loading') {
60
- event.target.loading = true;
61
- }
62
- if (newState === 'selected') {
63
- event.target.selected = true;
64
- }
65
- element.removeEventListener(eventName, handler);
66
- };
67
- element.addEventListener(eventName, handler);
68
- }
69
-
70
- function setupRegisterEventDispatchTest(order) {
71
- const handler = (event) => {
72
- event.detail.applyCssOrderClass(order);
73
- functionsMocks.listener();
74
- document.removeEventListener('quantic__resultactionregister', handler);
75
- };
76
- document.addEventListener('quantic__resultactionregister', handler);
77
- }
78
-
79
- describe('c-quantic-result-action', () => {
80
- function cleanup() {
81
- // The jsdom instance is shared across test cases in a single file so reset the DOM
82
- while (document.body.firstChild) {
83
- document.body.removeChild(document.body.firstChild);
84
- }
85
- jest.clearAllMocks();
86
- }
87
-
88
- afterEach(() => {
89
- cleanup();
90
- });
91
-
92
- it('should display the result action button properly', async () => {
93
- const element = createTestComponent();
94
- await flushPromises();
95
-
96
- const resultActionButton = element.shadowRoot.querySelector(
97
- 'lightning-button-icon-stateful'
98
- );
99
- const tooltip = element.shadowRoot.querySelector(selectors.tooltip);
100
- const tooltipContent = element.shadowRoot.querySelector(
101
- selectors.tooltipContent
102
- );
103
-
104
- expect(resultActionButton).not.toBeNull();
105
- expect(tooltip).not.toBeNull();
106
- expect(tooltipContent).not.toBeNull();
107
- expect(tooltipContent.textContent).toBe(exampleLabel);
108
- expect(resultActionButton.iconName).toBe(exampleIconName);
109
- });
110
-
111
- it('should display the button properly when it is in the first position', async () => {
112
- setupRegisterEventDispatchTest('first');
113
- const element = createTestComponent();
114
- await flushPromises();
115
-
116
- const resultActionButton = element.shadowRoot.querySelector(
117
- 'lightning-button-icon-stateful'
118
- );
119
-
120
- expect(functionsMocks.listener).toHaveBeenCalledTimes(1);
121
- expect(resultActionButton.className).toBe(
122
- 'result-action_button result-action_first'
123
- );
124
- });
125
-
126
- it('should display the button properly when it is in a middle position', async () => {
127
- setupRegisterEventDispatchTest('middle');
128
- const element = createTestComponent();
129
- await flushPromises();
130
-
131
- const resultActionButton = element.shadowRoot.querySelector(
132
- 'lightning-button-icon-stateful'
133
- );
134
-
135
- expect(functionsMocks.listener).toHaveBeenCalledTimes(1);
136
- expect(resultActionButton.className).toBe(
137
- 'result-action_button result-action_middle'
138
- );
139
- });
140
-
141
- it('should display the button properly when it is in the last position', async () => {
142
- setupRegisterEventDispatchTest('last');
143
- const element = createTestComponent();
144
- await flushPromises();
145
-
146
- const resultActionButton = element.shadowRoot.querySelector(
147
- 'lightning-button-icon-stateful'
148
- );
149
-
150
- expect(functionsMocks.listener).toHaveBeenCalledTimes(1);
151
- expect(resultActionButton.className).toBe(
152
- 'result-action_button result-action_last'
153
- );
154
- });
155
-
156
- it('should display the button properly when it is the only result action displayed', async () => {
157
- setupRegisterEventDispatchTest(null);
158
- const element = createTestComponent();
159
- await flushPromises();
160
-
161
- const resultActionButton = element.shadowRoot.querySelector(
162
- 'lightning-button-icon-stateful'
163
- );
164
-
165
- expect(functionsMocks.listener).toHaveBeenCalledTimes(1);
166
- expect(resultActionButton.className).toBe('result-action_button');
167
- });
168
-
169
- describe('when the loading property is set to true', () => {
170
- it('should display the result action button in the loading state', async () => {
171
- const element = createTestComponent({...defaultOptions, loading: true});
172
- await flushPromises();
173
-
174
- const resultActionButton = element.shadowRoot.querySelector(
175
- 'lightning-button-icon-stateful'
176
- );
177
- const loadingResultActionButton =
178
- element.shadowRoot.querySelector('.slds-button_icon');
179
-
180
- expect(resultActionButton).toBeNull();
181
- expect(loadingResultActionButton).not.toBeNull();
182
- });
183
- });
184
-
185
- describe('when the selected property is set to true', () => {
186
- it('should display the result action button in the selected state', async () => {
187
- const element = createTestComponent({...defaultOptions, selected: true});
188
- await flushPromises();
189
-
190
- const resultActionButton = element.shadowRoot.querySelector(
191
- 'lightning-button-icon-stateful'
192
- );
193
-
194
- expect(resultActionButton).not.toBeNull();
195
- expect(resultActionButton.selected).toBe(true);
196
- });
197
-
198
- it('should display the correct tooltip', async () => {
199
- const element = createTestComponent({...defaultOptions, selected: true});
200
- await flushPromises();
201
-
202
- const tooltip = element.shadowRoot.querySelector(selectors.tooltip);
203
- const tooltipContent = element.shadowRoot.querySelector(
204
- selectors.tooltipContent
205
- );
206
-
207
- expect(tooltip).not.toBeNull();
208
- expect(tooltipContent).not.toBeNull();
209
- expect(tooltipContent.textContent).toBe(exampleSelectedLabel);
210
- });
211
-
212
- it('should display the correct icon', async () => {
213
- const element = createTestComponent({...defaultOptions, selected: true});
214
- await flushPromises();
215
-
216
- const resultActionButton = element.shadowRoot.querySelector(
217
- 'lightning-button-icon-stateful'
218
- );
219
-
220
- expect(resultActionButton).not.toBeNull();
221
- expect(resultActionButton.iconName).toBe(exampleSelectedIconName);
222
- });
223
- });
224
-
225
- describe('when the result action is clicked', () => {
226
- it('should dispatch the correct event and we can set the loading state', async () => {
227
- const element = createTestComponent();
228
- await flushPromises();
229
-
230
- setupClickSimulation(element, exampleEventName, 'loading');
231
-
232
- clickButton(element);
233
- await flushPromises();
234
- const resultActionButton = element.shadowRoot.querySelector(
235
- 'lightning-button-icon-stateful'
236
- );
237
- const loadingResultActionButton =
238
- element.shadowRoot.querySelector('.slds-button_icon');
239
-
240
- expect(functionsMocks.listener).toHaveBeenCalledTimes(1);
241
- expect(resultActionButton).toBeNull();
242
- expect(loadingResultActionButton).not.toBeNull();
243
- });
244
-
245
- it('should dispatch the correct event and we can set the selected state', async () => {
246
- const element = createTestComponent();
247
- await flushPromises();
248
-
249
- setupClickSimulation(element, exampleEventName, 'selected');
250
- const resultActionButton = element.shadowRoot.querySelector(
251
- 'lightning-button-icon-stateful'
252
- );
253
-
254
- clickButton(element);
255
- await flushPromises();
256
-
257
- expect(functionsMocks.listener).toHaveBeenCalledTimes(1);
258
- expect(resultActionButton).not.toBeNull();
259
- expect(resultActionButton.selected).toBe(true);
260
- });
261
- });
262
- });
@@ -1,141 +0,0 @@
1
- // @ts-nocheck
2
- // @ts-ignore
3
- import {createElement} from 'lwc';
4
- import QuanticResultActionBar from '../quanticResultActionBar';
5
-
6
- const functionsMocks = {
7
- setOrderFirst: jest.fn(() => {}),
8
- setOrderMiddle: jest.fn(() => {}),
9
- setOrderLast: jest.fn(() => {}),
10
- };
11
-
12
- function createTestComponent() {
13
- const element = createElement('c-quantic-result-action-bar', {
14
- is: QuanticResultActionBar,
15
- });
16
-
17
- document.body.appendChild(element);
18
-
19
- return element;
20
- }
21
-
22
- function createExampleResultActionButton(element) {
23
- const resultActionButton = document.createElement('button');
24
-
25
- element.appendChild(resultActionButton);
26
- return resultActionButton;
27
- }
28
-
29
- function registerExampleResultActionButton(
30
- resultActionButton,
31
- setOrderCallback
32
- ) {
33
- const resultActionRegister = new CustomEvent(
34
- 'quantic__resultactionregister',
35
- {
36
- bubbles: true,
37
- detail: {
38
- applyCssOrderClass: setOrderCallback,
39
- },
40
- }
41
- );
42
-
43
- resultActionButton.dispatchEvent(resultActionRegister);
44
- }
45
-
46
- function triggerSlotChange(element) {
47
- const slot = element.shadowRoot.querySelector('slot');
48
-
49
- const slotChange = new CustomEvent('slotchange');
50
-
51
- slot.dispatchEvent(slotChange);
52
- }
53
-
54
- // Helper function to wait until the microtask queue is empty.
55
- function flushPromises() {
56
- return new Promise((resolve) => setTimeout(resolve, 0));
57
- }
58
-
59
- describe('c-quantic-result-action-bar', () => {
60
- function cleanup() {
61
- // The jsdom instance is shared across test cases in a single file so reset the DOM
62
- while (document.body.firstChild) {
63
- document.body.removeChild(document.body.firstChild);
64
- }
65
- jest.clearAllMocks();
66
- }
67
-
68
- afterEach(() => {
69
- cleanup();
70
- });
71
-
72
- it('should display the slot element', async () => {
73
- const element = createTestComponent();
74
- await flushPromises();
75
-
76
- const slot = element.shadowRoot.querySelector('slot');
77
-
78
- expect(slot).not.toBeNull();
79
- });
80
-
81
- it('should order the result actions correctly when they are registered in order', async () => {
82
- const element = createTestComponent();
83
- await flushPromises();
84
-
85
- const {setOrderFirst, setOrderMiddle, setOrderLast} = functionsMocks;
86
-
87
- const firstResultActionButton = createExampleResultActionButton(element);
88
- const middleResultActionButton = createExampleResultActionButton(element);
89
- const lastResultActionButton = createExampleResultActionButton(element);
90
-
91
- registerExampleResultActionButton(firstResultActionButton, setOrderFirst);
92
- registerExampleResultActionButton(middleResultActionButton, setOrderMiddle);
93
- registerExampleResultActionButton(lastResultActionButton, setOrderLast);
94
- triggerSlotChange(element);
95
-
96
- expect(setOrderFirst).toHaveBeenCalledTimes(1);
97
- expect(setOrderFirst.mock.calls[0][0]).toEqual('first');
98
- expect(setOrderMiddle).toHaveBeenCalledTimes(1);
99
- expect(setOrderMiddle.mock.calls[0][0]).toEqual('middle');
100
- expect(setOrderLast).toHaveBeenCalledTimes(1);
101
- expect(setOrderLast.mock.calls[0][0]).toEqual('last');
102
- });
103
-
104
- it('should order the result actions correctly when they are registered in an inverse order', async () => {
105
- const element = createTestComponent();
106
- await flushPromises();
107
-
108
- const {setOrderFirst, setOrderMiddle, setOrderLast} = functionsMocks;
109
-
110
- const firstResultActionButton = createExampleResultActionButton(element);
111
- const middleResultActionButton = createExampleResultActionButton(element);
112
- const lastResultActionButton = createExampleResultActionButton(element);
113
-
114
- registerExampleResultActionButton(lastResultActionButton, setOrderLast);
115
- registerExampleResultActionButton(middleResultActionButton, setOrderMiddle);
116
- registerExampleResultActionButton(firstResultActionButton, setOrderFirst);
117
- triggerSlotChange(element);
118
-
119
- expect(setOrderFirst).toHaveBeenCalledTimes(1);
120
- expect(setOrderFirst.mock.calls[0][0]).toEqual('first');
121
- expect(setOrderMiddle).toHaveBeenCalledTimes(1);
122
- expect(setOrderMiddle.mock.calls[0][0]).toEqual('middle');
123
- expect(setOrderLast).toHaveBeenCalledTimes(1);
124
- expect(setOrderLast.mock.calls[0][0]).toEqual('last');
125
- });
126
-
127
- it('should set the order correctly when there is only one result action', async () => {
128
- const element = createTestComponent();
129
- await flushPromises();
130
-
131
- const {setOrderFirst} = functionsMocks;
132
-
133
- const firstResultActionButton = createExampleResultActionButton(element);
134
-
135
- registerExampleResultActionButton(firstResultActionButton, setOrderFirst);
136
- triggerSlotChange(element);
137
-
138
- expect(setOrderFirst).toHaveBeenCalledTimes(1);
139
- expect(setOrderFirst.mock.calls[0][0]).toEqual(null);
140
- });
141
- });