@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.
- package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +2 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/recent-queries-list/headless-recent-queries-list.d.ts +5 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/recent-queries-list/headless-recent-queries-list.d.ts +5 -0
- package/force-app/main/default/staticresources/coveoheadless/headless.js +10 -10
- package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +2 -2
- package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +2 -2
- package/package.json +5 -3
- package/force-app/main/default/lwc/quanticBreadcrumbManager/__tests__/quanticBreadcrumbManager.test.js +0 -604
- package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/fixture.ts +0 -76
- package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/pageObject.ts +0 -282
- package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/quanticBreadcrumbManager.e2e.ts +0 -167
- package/force-app/main/default/lwc/quanticCarousel/__tests__/quanticCarousel.test.js +0 -262
- package/force-app/main/default/lwc/quanticCaseClassification/__tests__/quanticCaseClassification.test.js +0 -819
- package/force-app/main/default/lwc/quanticCaseClassification/e2e/data.ts +0 -23
- package/force-app/main/default/lwc/quanticCaseClassification/e2e/fixture.ts +0 -51
- package/force-app/main/default/lwc/quanticCaseClassification/e2e/pageObject.ts +0 -152
- package/force-app/main/default/lwc/quanticCaseClassification/e2e/quanticCaseClassification.e2e.ts +0 -269
- package/force-app/main/default/lwc/quanticCategoryFacet/__tests__/quanticCategoryFacet.test.js +0 -327
- package/force-app/main/default/lwc/quanticCitation/__tests__/quanticCitation.test.js +0 -269
- package/force-app/main/default/lwc/quanticColoredResultBadge/__tests__/quanticColoredResultBadge.test.js +0 -212
- package/force-app/main/default/lwc/quanticDateFacet/__tests__/quanticDateFacet.test.js +0 -321
- package/force-app/main/default/lwc/quanticDidYouMean/__tests__/quanticDidYouMean.test.js +0 -199
- package/force-app/main/default/lwc/quanticFacet/__tests__/quanticFacet.test.js +0 -341
- package/force-app/main/default/lwc/quanticFacetCaption/__tests__/quanticFacetCaption.test.js +0 -28
- package/force-app/main/default/lwc/quanticFacetManager/__tests__/quanticFacetManager.test.js +0 -178
- package/force-app/main/default/lwc/quanticFacetManager/e2e/fixture.ts +0 -63
- package/force-app/main/default/lwc/quanticFacetManager/e2e/pageObject.ts +0 -23
- package/force-app/main/default/lwc/quanticFacetManager/e2e/quanticFacetManager.e2e.ts +0 -82
- package/force-app/main/default/lwc/quanticFeedback/__tests__/quanticFeedback.test.js +0 -392
- package/force-app/main/default/lwc/quanticFeedbackModal/__tests__/quanticFeedbackModal.test.js +0 -448
- package/force-app/main/default/lwc/quanticFeedbackModalQna/__tests__/quanticFeedbackModalQna.test.js +0 -298
- package/force-app/main/default/lwc/quanticGeneratedAnswer/__tests__/quanticGeneratedAnswer.test.js +0 -814
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/data.ts +0 -56
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/fixture.ts +0 -87
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/pageObject.ts +0 -283
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/quanticGeneratedAnswer.e2e.ts +0 -199
- package/force-app/main/default/lwc/quanticGeneratedAnswerContent/__tests__/quanticGeneratedAnswerContent.test.js +0 -151
- package/force-app/main/default/lwc/quanticHeading/__tests__/quanticHeading.test.js +0 -71
- package/force-app/main/default/lwc/quanticHeadlessLoader/__tests__/quanticHeadlessLoader.test.js +0 -651
- package/force-app/main/default/lwc/quanticNotifications/__tests__/quanticNotifications.test.js +0 -335
- package/force-app/main/default/lwc/quanticNumericFacet/__tests__/quanticNumericFacet.test.js +0 -343
- package/force-app/main/default/lwc/quanticPager/e2e/fixture.ts +0 -63
- package/force-app/main/default/lwc/quanticPager/e2e/pageObject.ts +0 -69
- package/force-app/main/default/lwc/quanticPager/e2e/quanticPager.e2e.ts +0 -101
- package/force-app/main/default/lwc/quanticQuickviewContent/__tests__/data/defaultTestCase.json +0 -13
- package/force-app/main/default/lwc/quanticQuickviewContent/__tests__/data/youtubeTestCase.json +0 -14
- package/force-app/main/default/lwc/quanticQuickviewContent/__tests__/quanticQuickviewContent.test.js +0 -82
- package/force-app/main/default/lwc/quanticRadioButtonsGroup/__tests__/quanticRadioButtonsGroup.test.js +0 -273
- package/force-app/main/default/lwc/quanticRefineModalContent/__tests__/quanticRefineModalContent.test.js +0 -501
- package/force-app/main/default/lwc/quanticResultAction/__tests__/quanticResultAction.test.js +0 -262
- package/force-app/main/default/lwc/quanticResultActionBar/__tests__/quanticResultActionBar.test.js +0 -141
- package/force-app/main/default/lwc/quanticResultChildren/__tests__/quanticResultChildren.test.js +0 -340
- package/force-app/main/default/lwc/quanticResultDate/__tests__/quanticResultDate.test.js +0 -144
- package/force-app/main/default/lwc/quanticResultField/__tests__/quanticResultField.test.js +0 -120
- package/force-app/main/default/lwc/quanticResultHighlightedTextField/__tests__/quanticResultHighlightedTextField.test.js +0 -209
- package/force-app/main/default/lwc/quanticResultLink/__tests__/quanticResultLink.test.js +0 -261
- package/force-app/main/default/lwc/quanticResultMultiValueText/__tests__/quanticResultMultiValueText.test.js +0 -235
- package/force-app/main/default/lwc/quanticResultNumber/__tests__/quanticResultNumber.test.js +0 -144
- package/force-app/main/default/lwc/quanticResultPrintableUri/__tests__/quanticResultPrintableUri.test.js +0 -324
- package/force-app/main/default/lwc/quanticResultQuickview/__tests__/quanticResultQuickview.test.js +0 -171
- package/force-app/main/default/lwc/quanticResultText/__tests__/quanticResultText.test.js +0 -155
- package/force-app/main/default/lwc/quanticResultsPerPage/__tests__/quanticResultsPerPage.test.js +0 -404
- package/force-app/main/default/lwc/quanticResultsPerPage/e2e/fixture.ts +0 -74
- package/force-app/main/default/lwc/quanticResultsPerPage/e2e/pageObject.ts +0 -85
- package/force-app/main/default/lwc/quanticResultsPerPage/e2e/quanticResultsPerPage.e2e.ts +0 -97
- package/force-app/main/default/lwc/quanticSearchBox/__tests__/quanticSearchBox.test.js +0 -168
- package/force-app/main/default/lwc/quanticSearchBoxInput/__tests__/quanticSearchBoxInput.test.js +0 -823
- package/force-app/main/default/lwc/quanticSmartSnippet/__tests__/quanticSmartSnippet.test.js +0 -341
- package/force-app/main/default/lwc/quanticSmartSnippet/e2e/data.ts +0 -21
- package/force-app/main/default/lwc/quanticSmartSnippet/e2e/fixture.ts +0 -91
- package/force-app/main/default/lwc/quanticSmartSnippet/e2e/pageObject.ts +0 -196
- package/force-app/main/default/lwc/quanticSmartSnippet/e2e/quanticSmartSnippet.e2e.ts +0 -168
- package/force-app/main/default/lwc/quanticSmartSnippetAnswer/__tests__/quanticSmartSnippetAnswer.test.js +0 -126
- package/force-app/main/default/lwc/quanticSmartSnippetSource/__tests__/quanticSmartSnippetSource.test.js +0 -290
- package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/__tests__/quanticSmartSnippetSuggestions.test.js +0 -329
- package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/e2e/data.ts +0 -31
- package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/e2e/fixture.ts +0 -93
- package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/e2e/pageObject.ts +0 -160
- package/force-app/main/default/lwc/quanticSmartSnippetSuggestions/e2e/quanticSmartSnippetSuggestions.e2e.ts +0 -127
- package/force-app/main/default/lwc/quanticSort/__tests__/quanticSort.test.js +0 -416
- package/force-app/main/default/lwc/quanticSort/e2e/fixture.ts +0 -61
- package/force-app/main/default/lwc/quanticSort/e2e/pageObject.ts +0 -89
- package/force-app/main/default/lwc/quanticSort/e2e/quanticSort.e2e.ts +0 -91
- package/force-app/main/default/lwc/quanticSourceCitations/__tests__/quanticSourceCitations.test.js +0 -123
- package/force-app/main/default/lwc/quanticStandaloneSearchBox/__tests__/quanticStandaloneSearchBox.test.js +0 -186
- package/force-app/main/default/lwc/quanticStatefulButton/__tests__/quanticStatefulButton.test.js +0 -222
- package/force-app/main/default/lwc/quanticTab/__tests__/quanticTab.test.js +0 -287
- package/force-app/main/default/lwc/quanticTab/e2e/fixture.ts +0 -62
- package/force-app/main/default/lwc/quanticTab/e2e/pageObject.ts +0 -67
- package/force-app/main/default/lwc/quanticTab/e2e/quanticTab.e2e.ts +0 -77
- package/force-app/main/default/lwc/quanticTabBar/__tests__/quanticTabBar.test.js +0 -331
- package/force-app/main/default/lwc/quanticTabBar/e2e/fixture.ts +0 -61
- package/force-app/main/default/lwc/quanticTabBar/e2e/pageObject.ts +0 -80
- package/force-app/main/default/lwc/quanticTabBar/e2e/quanticTabBar.e2e.ts +0 -173
- package/force-app/main/default/lwc/quanticTimeframeFacet/__tests__/quanticTimeframeFacet.test.js +0 -339
- package/force-app/main/default/lwc/quanticTooltip/__tests__/quanticTooltip.test.js +0 -107
- package/force-app/main/default/lwc/quanticUserAction/__tests__/quanticUserAction.test.js +0 -427
- package/force-app/main/default/lwc/quanticUserActionsSession/__tests__/quanticUserActionsSession.test.js +0 -269
- package/force-app/main/default/lwc/quanticUserActionsTimeline/__tests__/data/userActionsState.json +0 -89
- package/force-app/main/default/lwc/quanticUserActionsTimeline/__tests__/quanticUserActionsTimeline.test.js +0 -511
- package/force-app/main/default/lwc/quanticUserActionsToggle/__tests__/quanticUserActionsToggle.test.js +0 -229
- package/force-app/main/default/lwc/quanticUserActionsToggle/e2e/data.ts +0 -32
- package/force-app/main/default/lwc/quanticUserActionsToggle/e2e/fixture.ts +0 -32
- package/force-app/main/default/lwc/quanticUserActionsToggle/e2e/pageObject.ts +0 -71
- package/force-app/main/default/lwc/quanticUserActionsToggle/e2e/quanticUserActionsToggle.e2e.ts +0 -39
- package/force-app/main/default/lwc/quanticUtils/__tests__/facetDependenciesUtils.test.js +0 -92
- package/force-app/main/default/lwc/quanticUtils/__tests__/markdownUtils.test.js +0 -71
- package/force-app/main/default/lwc/quanticUtils/__tests__/quanticUtils.test.js +0 -223
- package/force-app/main/default/lwc/quanticViewedByCustomerBadge/__tests__/quanticViewedByCustomerBadge.test.js +0 -131
|
@@ -1,392 +0,0 @@
|
|
|
1
|
-
/* eslint-disable jest/no-focused-tests */
|
|
2
|
-
// @ts-ignore
|
|
3
|
-
import {createElement} from 'lwc';
|
|
4
|
-
import QuanticFeedback from '../quanticFeedback';
|
|
5
|
-
|
|
6
|
-
const functionsMocks = {
|
|
7
|
-
exampleHandleLike: jest.fn(),
|
|
8
|
-
exampleHandleDislike: jest.fn(),
|
|
9
|
-
exampleHandleExplainWhy: jest.fn(),
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const exampleQuestion = 'Example question';
|
|
13
|
-
const exampleSuccessMessage = 'Example success Message';
|
|
14
|
-
const defaultLikeIconName = 'utility:success';
|
|
15
|
-
const defaultLikeLabel = 'yes';
|
|
16
|
-
const defaultDislikeIconName = 'utility:clear';
|
|
17
|
-
const defaultDislikeLabel = 'no';
|
|
18
|
-
const defaultSize = 'xx-small';
|
|
19
|
-
|
|
20
|
-
jest.mock(
|
|
21
|
-
'@salesforce/label/c.quantic_Yes',
|
|
22
|
-
() => ({default: defaultLikeLabel}),
|
|
23
|
-
{
|
|
24
|
-
virtual: true,
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
jest.mock(
|
|
28
|
-
'@salesforce/label/c.quantic_No',
|
|
29
|
-
() => ({default: defaultDislikeLabel}),
|
|
30
|
-
{
|
|
31
|
-
virtual: true,
|
|
32
|
-
}
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
const selectors = {
|
|
36
|
-
feedbackQuestion: '.feedback__question',
|
|
37
|
-
likeButton: 'c-quantic-stateful-button[data-testid="feedback__like-button"]',
|
|
38
|
-
dislikeButton:
|
|
39
|
-
'c-quantic-stateful-button[data-testid="feedback__dislike-button"]',
|
|
40
|
-
successMessage: '.feedback__success-message',
|
|
41
|
-
explainWhyButton: '.feedback__explain-why',
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const defaultOptions = {
|
|
45
|
-
state: 'neutral',
|
|
46
|
-
question: exampleQuestion,
|
|
47
|
-
hideExplainWhyButton: false,
|
|
48
|
-
successMessage: exampleSuccessMessage,
|
|
49
|
-
likeLabel: defaultLikeLabel,
|
|
50
|
-
dislikeLabel: defaultDislikeLabel,
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
function setupEventListeners(element) {
|
|
54
|
-
element.addEventListener('quantic__like', functionsMocks.exampleHandleLike);
|
|
55
|
-
element.addEventListener(
|
|
56
|
-
'quantic__dislike',
|
|
57
|
-
functionsMocks.exampleHandleDislike
|
|
58
|
-
);
|
|
59
|
-
element.addEventListener(
|
|
60
|
-
'quantic__pressexplainwhy',
|
|
61
|
-
functionsMocks.exampleHandleExplainWhy
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function createTestComponent(options = defaultOptions) {
|
|
66
|
-
const element = createElement('c-quantic-feedback', {
|
|
67
|
-
is: QuanticFeedback,
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
for (const [key, value] of Object.entries(options)) {
|
|
71
|
-
element[key] = value;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
document.body.appendChild(element);
|
|
75
|
-
return element;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// Helper function to wait until the microtask queue is empty.
|
|
79
|
-
function flushPromises() {
|
|
80
|
-
// eslint-disable-next-line @lwc/lwc/no-async-operation
|
|
81
|
-
return new Promise((resolve) => setTimeout(resolve, 0));
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
describe('c-quantic-feedback', () => {
|
|
85
|
-
function cleanup() {
|
|
86
|
-
// The jsdom instance is shared across test cases in a single file so reset the DOM
|
|
87
|
-
while (document.body.firstChild) {
|
|
88
|
-
document.body.removeChild(document.body.firstChild);
|
|
89
|
-
}
|
|
90
|
-
jest.clearAllMocks();
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
afterEach(() => {
|
|
94
|
-
cleanup();
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it('should properly display the feedback question', async () => {
|
|
98
|
-
const element = createTestComponent();
|
|
99
|
-
await flushPromises();
|
|
100
|
-
|
|
101
|
-
const question = element.shadowRoot.querySelector(
|
|
102
|
-
selectors.feedbackQuestion
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
expect(question).not.toBeNull();
|
|
106
|
-
expect(question.textContent).toBe(exampleQuestion);
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
describe('when the component is in a neutral state', () => {
|
|
110
|
-
it('should display the feedback buttons in a neutral state', async () => {
|
|
111
|
-
const element = createTestComponent();
|
|
112
|
-
await flushPromises();
|
|
113
|
-
|
|
114
|
-
const likeButton = element.shadowRoot.querySelector(selectors.likeButton);
|
|
115
|
-
const dislikeButton = element.shadowRoot.querySelector(
|
|
116
|
-
selectors.dislikeButton
|
|
117
|
-
);
|
|
118
|
-
|
|
119
|
-
expect(likeButton.iconName).toBe(defaultLikeIconName);
|
|
120
|
-
expect(likeButton.selected).toBe(false);
|
|
121
|
-
expect(likeButton.label).toBe(defaultLikeLabel);
|
|
122
|
-
expect(likeButton.tooltip).toBe(defaultLikeLabel);
|
|
123
|
-
expect(likeButton.iconSize).toBe(defaultSize);
|
|
124
|
-
expect(likeButton.withoutBorders).toBe(true);
|
|
125
|
-
|
|
126
|
-
expect(dislikeButton.iconName).toBe(defaultDislikeIconName);
|
|
127
|
-
expect(dislikeButton.selected).toBe(false);
|
|
128
|
-
expect(dislikeButton.label).toBe(defaultDislikeLabel);
|
|
129
|
-
expect(dislikeButton.tooltip).toBe(defaultDislikeLabel);
|
|
130
|
-
expect(dislikeButton.iconSize).toBe(defaultSize);
|
|
131
|
-
expect(dislikeButton.withoutBorders).toBe(true);
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
it('should not display the success message', async () => {
|
|
135
|
-
const element = createTestComponent();
|
|
136
|
-
await flushPromises();
|
|
137
|
-
|
|
138
|
-
const successMessage = element.shadowRoot.querySelector(
|
|
139
|
-
selectors.successMessage
|
|
140
|
-
);
|
|
141
|
-
|
|
142
|
-
expect(successMessage).toBeNull();
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
describe('when the like button is clicked', () => {
|
|
146
|
-
it('should dispatch the quantic__like" event', async () => {
|
|
147
|
-
const element = createTestComponent();
|
|
148
|
-
setupEventListeners(element);
|
|
149
|
-
await flushPromises();
|
|
150
|
-
|
|
151
|
-
const likeButton = element.shadowRoot.querySelector(
|
|
152
|
-
selectors.likeButton
|
|
153
|
-
);
|
|
154
|
-
likeButton.dispatchEvent(new CustomEvent('quantic__select'));
|
|
155
|
-
|
|
156
|
-
expect(likeButton).not.toBeNull();
|
|
157
|
-
expect(functionsMocks.exampleHandleLike).toHaveBeenCalledTimes(1);
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
describe('when the dislike button is clicked', () => {
|
|
162
|
-
it('should dispatch the "quantic__dislike" event', async () => {
|
|
163
|
-
const element = createTestComponent();
|
|
164
|
-
setupEventListeners(element);
|
|
165
|
-
await flushPromises();
|
|
166
|
-
|
|
167
|
-
const dislikeButton = element.shadowRoot.querySelector(
|
|
168
|
-
selectors.dislikeButton
|
|
169
|
-
);
|
|
170
|
-
dislikeButton.dispatchEvent(new CustomEvent('quantic__select'));
|
|
171
|
-
|
|
172
|
-
expect(dislikeButton).not.toBeNull();
|
|
173
|
-
expect(functionsMocks.exampleHandleDislike).toHaveBeenCalledTimes(1);
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
describe('when custom properties are passed', () => {
|
|
178
|
-
const customLikeIconName = 'utility:like';
|
|
179
|
-
const customLikeLabel = 'like';
|
|
180
|
-
const customDislikeIconName = 'utility:dislike';
|
|
181
|
-
const customDislikeLabel = 'dislike';
|
|
182
|
-
const customSize = 'large';
|
|
183
|
-
|
|
184
|
-
it('should display the feedback buttons properly', async () => {
|
|
185
|
-
const element = createTestComponent({
|
|
186
|
-
...defaultOptions,
|
|
187
|
-
likeIconName: customLikeIconName,
|
|
188
|
-
likeLabel: customLikeLabel,
|
|
189
|
-
dislikeIconName: customDislikeIconName,
|
|
190
|
-
dislikeLabel: customDislikeLabel,
|
|
191
|
-
size: customSize,
|
|
192
|
-
});
|
|
193
|
-
await flushPromises();
|
|
194
|
-
|
|
195
|
-
const likeButton = element.shadowRoot.querySelector(
|
|
196
|
-
selectors.likeButton
|
|
197
|
-
);
|
|
198
|
-
const dislikeButton = element.shadowRoot.querySelector(
|
|
199
|
-
selectors.dislikeButton
|
|
200
|
-
);
|
|
201
|
-
|
|
202
|
-
expect(likeButton.iconName).toBe(customLikeIconName);
|
|
203
|
-
expect(likeButton.selected).toBe(false);
|
|
204
|
-
expect(likeButton.label).toBe(customLikeLabel);
|
|
205
|
-
expect(likeButton.tooltip).toBe(customLikeLabel);
|
|
206
|
-
expect(likeButton.iconSize).toBe(customSize);
|
|
207
|
-
expect(likeButton.withoutBorders).toBe(true);
|
|
208
|
-
|
|
209
|
-
expect(dislikeButton.iconName).toBe(customDislikeIconName);
|
|
210
|
-
expect(dislikeButton.selected).toBe(false);
|
|
211
|
-
expect(dislikeButton.label).toBe(customDislikeLabel);
|
|
212
|
-
expect(dislikeButton.tooltip).toBe(customDislikeLabel);
|
|
213
|
-
expect(dislikeButton.iconSize).toBe(customSize);
|
|
214
|
-
expect(dislikeButton.withoutBorders).toBe(true);
|
|
215
|
-
});
|
|
216
|
-
});
|
|
217
|
-
|
|
218
|
-
describe('when the property hideLabels is set to true', () => {
|
|
219
|
-
it('should display the feedback buttons properly', async () => {
|
|
220
|
-
const element = createTestComponent({
|
|
221
|
-
...defaultOptions,
|
|
222
|
-
hideLabels: true,
|
|
223
|
-
});
|
|
224
|
-
await flushPromises();
|
|
225
|
-
|
|
226
|
-
const likeButton = element.shadowRoot.querySelector(
|
|
227
|
-
selectors.likeButton
|
|
228
|
-
);
|
|
229
|
-
const dislikeButton = element.shadowRoot.querySelector(
|
|
230
|
-
selectors.dislikeButton
|
|
231
|
-
);
|
|
232
|
-
|
|
233
|
-
expect(likeButton.label).toBe('');
|
|
234
|
-
expect(likeButton.tooltip).toBe(defaultLikeLabel);
|
|
235
|
-
expect(dislikeButton.label).toBe('');
|
|
236
|
-
expect(dislikeButton.tooltip).toBe(defaultDislikeLabel);
|
|
237
|
-
});
|
|
238
|
-
});
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
describe('when the component is in a liked state', () => {
|
|
242
|
-
it('should display the feedback buttons in a liked state', async () => {
|
|
243
|
-
const element = createTestComponent({...defaultOptions, state: 'liked'});
|
|
244
|
-
await flushPromises();
|
|
245
|
-
|
|
246
|
-
const likeButton = element.shadowRoot.querySelector(selectors.likeButton);
|
|
247
|
-
const dislikeButton = element.shadowRoot.querySelector(
|
|
248
|
-
selectors.dislikeButton
|
|
249
|
-
);
|
|
250
|
-
|
|
251
|
-
expect(likeButton.selected).toBe(true);
|
|
252
|
-
expect(likeButton.selectedStateColor).toBe('#2e844a');
|
|
253
|
-
expect(dislikeButton.selected).toBe(false);
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
it('should display the success message', async () => {
|
|
257
|
-
const element = createTestComponent({...defaultOptions, state: 'liked'});
|
|
258
|
-
await flushPromises();
|
|
259
|
-
|
|
260
|
-
const successMessage = element.shadowRoot.querySelector(
|
|
261
|
-
selectors.successMessage
|
|
262
|
-
);
|
|
263
|
-
const explainWhyButton = element.shadowRoot.querySelector(
|
|
264
|
-
selectors.explainWhyButton
|
|
265
|
-
);
|
|
266
|
-
|
|
267
|
-
expect(successMessage).not.toBeNull();
|
|
268
|
-
expect(successMessage.textContent).toBe(exampleSuccessMessage);
|
|
269
|
-
expect(explainWhyButton).not.toBeNull();
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
describe('when the explain why button is clicked', () => {
|
|
273
|
-
it('should dispatch the "quantic__pressexplainwhy" event', async () => {
|
|
274
|
-
const element = createTestComponent({
|
|
275
|
-
...defaultOptions,
|
|
276
|
-
state: 'liked',
|
|
277
|
-
});
|
|
278
|
-
setupEventListeners(element);
|
|
279
|
-
await flushPromises();
|
|
280
|
-
|
|
281
|
-
const explainWhyButton = element.shadowRoot.querySelector(
|
|
282
|
-
selectors.explainWhyButton
|
|
283
|
-
);
|
|
284
|
-
explainWhyButton.click();
|
|
285
|
-
|
|
286
|
-
expect(explainWhyButton).not.toBeNull();
|
|
287
|
-
expect(functionsMocks.exampleHandleExplainWhy).toHaveBeenCalledTimes(1);
|
|
288
|
-
});
|
|
289
|
-
});
|
|
290
|
-
|
|
291
|
-
describe('when the hideExplainWhy property is set to true', () => {
|
|
292
|
-
it('should display the success message without the explain why button', async () => {
|
|
293
|
-
const element = createTestComponent({
|
|
294
|
-
...defaultOptions,
|
|
295
|
-
state: 'liked',
|
|
296
|
-
hideExplainWhyButton: true,
|
|
297
|
-
});
|
|
298
|
-
await flushPromises();
|
|
299
|
-
|
|
300
|
-
const successMessage = element.shadowRoot.querySelector(
|
|
301
|
-
selectors.successMessage
|
|
302
|
-
);
|
|
303
|
-
const explainWhyButton = element.shadowRoot.querySelector(
|
|
304
|
-
selectors.explainWhyButton
|
|
305
|
-
);
|
|
306
|
-
|
|
307
|
-
expect(successMessage).not.toBeNull();
|
|
308
|
-
expect(successMessage.textContent).toBe(exampleSuccessMessage);
|
|
309
|
-
expect(explainWhyButton).toBeNull();
|
|
310
|
-
});
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
|
|
314
|
-
describe('when the component is in a disliked state', () => {
|
|
315
|
-
it('should display the feedback buttons in a disliked state', async () => {
|
|
316
|
-
const element = createTestComponent({
|
|
317
|
-
...defaultOptions,
|
|
318
|
-
state: 'disliked',
|
|
319
|
-
});
|
|
320
|
-
await flushPromises();
|
|
321
|
-
|
|
322
|
-
const likeButton = element.shadowRoot.querySelector(selectors.likeButton);
|
|
323
|
-
const dislikeButton = element.shadowRoot.querySelector(
|
|
324
|
-
selectors.dislikeButton
|
|
325
|
-
);
|
|
326
|
-
|
|
327
|
-
expect(likeButton.selected).toBe(false);
|
|
328
|
-
expect(dislikeButton.selected).toBe(true);
|
|
329
|
-
expect(dislikeButton.selectedStateColor).toBe('#ea001e');
|
|
330
|
-
});
|
|
331
|
-
|
|
332
|
-
it('should display the success message', async () => {
|
|
333
|
-
const element = createTestComponent({
|
|
334
|
-
...defaultOptions,
|
|
335
|
-
state: 'disliked',
|
|
336
|
-
});
|
|
337
|
-
await flushPromises();
|
|
338
|
-
|
|
339
|
-
const successMessage = element.shadowRoot.querySelector(
|
|
340
|
-
selectors.successMessage
|
|
341
|
-
);
|
|
342
|
-
const explainWhyButton = element.shadowRoot.querySelector(
|
|
343
|
-
selectors.explainWhyButton
|
|
344
|
-
);
|
|
345
|
-
|
|
346
|
-
expect(successMessage).not.toBeNull();
|
|
347
|
-
expect(successMessage.textContent).toBe(exampleSuccessMessage);
|
|
348
|
-
expect(explainWhyButton).not.toBeNull();
|
|
349
|
-
});
|
|
350
|
-
|
|
351
|
-
describe('when the explain why button is clicked', () => {
|
|
352
|
-
it('should dispatch the "quantic__pressexplainwhy" event', async () => {
|
|
353
|
-
const element = createTestComponent({
|
|
354
|
-
...defaultOptions,
|
|
355
|
-
state: 'disliked',
|
|
356
|
-
});
|
|
357
|
-
setupEventListeners(element);
|
|
358
|
-
await flushPromises();
|
|
359
|
-
|
|
360
|
-
const explainWhyButton = element.shadowRoot.querySelector(
|
|
361
|
-
selectors.explainWhyButton
|
|
362
|
-
);
|
|
363
|
-
explainWhyButton.click();
|
|
364
|
-
|
|
365
|
-
expect(explainWhyButton).not.toBeNull();
|
|
366
|
-
expect(functionsMocks.exampleHandleExplainWhy).toHaveBeenCalledTimes(1);
|
|
367
|
-
});
|
|
368
|
-
});
|
|
369
|
-
|
|
370
|
-
describe('when the hideExplainWhy property is set to true', () => {
|
|
371
|
-
it('should display the success message without the explain why button', async () => {
|
|
372
|
-
const element = createTestComponent({
|
|
373
|
-
...defaultOptions,
|
|
374
|
-
state: 'disliked',
|
|
375
|
-
hideExplainWhyButton: true,
|
|
376
|
-
});
|
|
377
|
-
await flushPromises();
|
|
378
|
-
|
|
379
|
-
const successMessage = element.shadowRoot.querySelector(
|
|
380
|
-
selectors.successMessage
|
|
381
|
-
);
|
|
382
|
-
const explainWhyButton = element.shadowRoot.querySelector(
|
|
383
|
-
selectors.explainWhyButton
|
|
384
|
-
);
|
|
385
|
-
|
|
386
|
-
expect(successMessage).not.toBeNull();
|
|
387
|
-
expect(successMessage.textContent).toBe(exampleSuccessMessage);
|
|
388
|
-
expect(explainWhyButton).toBeNull();
|
|
389
|
-
});
|
|
390
|
-
});
|
|
391
|
-
});
|
|
392
|
-
});
|