@coveo/quantic 3.44.1 → 3.44.2
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/classes/OrganizationEndpointsTest.cls +71 -15
- package/force-app/main/default/classes/RecommendationsControllerTest.cls +1 -1
- package/force-app/main/default/lwc/quanticTabBar/quanticTabBar.js +148 -125
- package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +16 -16
- package/force-app/main/default/staticresources/coveoheadless/headless.js +17 -17
- package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +16 -16
- package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +16 -16
- package/package.json +33 -31
- package/force-app/main/default/lwc/quanticAriaLive/__tests__/quanticAriaLive.test.js +0 -106
- package/force-app/main/default/lwc/quanticBreadcrumbManager/__tests__/quanticBreadcrumbManager.test.js +0 -752
- package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/data.ts +0 -130
- package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/fixture.ts +0 -87
- package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/pageObject.ts +0 -282
- package/force-app/main/default/lwc/quanticBreadcrumbManager/e2e/quanticBreadcrumbManager.e2e.ts +0 -208
- 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 -1183
- package/force-app/main/default/lwc/quanticCategoryFacet/e2e/data.ts +0 -91
- package/force-app/main/default/lwc/quanticCategoryFacet/e2e/fixture.ts +0 -79
- package/force-app/main/default/lwc/quanticCategoryFacet/e2e/pageObject.ts +0 -55
- package/force-app/main/default/lwc/quanticCategoryFacet/e2e/quanticCategoryFacet.e2e.ts +0 -219
- package/force-app/main/default/lwc/quanticCitation/__tests__/quanticCitation.test.js +0 -581
- 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 -688
- package/force-app/main/default/lwc/quanticDateFacet/e2e/data.ts +0 -44
- package/force-app/main/default/lwc/quanticDateFacet/e2e/fixture.ts +0 -72
- package/force-app/main/default/lwc/quanticDateFacet/e2e/pageObject.ts +0 -27
- package/force-app/main/default/lwc/quanticDateFacet/e2e/quanticDateFacet.e2e.ts +0 -167
- package/force-app/main/default/lwc/quanticDidYouMean/__tests__/quanticDidYouMean.test.js +0 -348
- package/force-app/main/default/lwc/quanticDidYouMean/e2e/data.ts +0 -48
- package/force-app/main/default/lwc/quanticDidYouMean/e2e/fixture.ts +0 -84
- package/force-app/main/default/lwc/quanticDidYouMean/e2e/pageObject.ts +0 -173
- package/force-app/main/default/lwc/quanticDidYouMean/e2e/quanticDidYouMean.e2e.ts +0 -219
- package/force-app/main/default/lwc/quanticDocumentSuggestion/__tests__/quanticDocumentSuggestion.test.js +0 -404
- package/force-app/main/default/lwc/quanticDocumentSuggestion/e2e/fixture.ts +0 -38
- package/force-app/main/default/lwc/quanticDocumentSuggestion/e2e/pageObject.ts +0 -52
- package/force-app/main/default/lwc/quanticDocumentSuggestion/e2e/quanticDocumentSuggestion.e2e.ts +0 -102
- package/force-app/main/default/lwc/quanticFacet/__tests__/quanticFacet.test.js +0 -1105
- package/force-app/main/default/lwc/quanticFacet/e2e/data.ts +0 -62
- package/force-app/main/default/lwc/quanticFacet/e2e/fixture.ts +0 -78
- package/force-app/main/default/lwc/quanticFacet/e2e/pageObject.ts +0 -67
- package/force-app/main/default/lwc/quanticFacet/e2e/quanticFacet.e2e.ts +0 -242
- 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/data.ts +0 -59
- package/force-app/main/default/lwc/quanticFacetManager/e2e/fixture.ts +0 -75
- 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 -403
- 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/quanticFoldedResultList/__tests__/quanticFoldedResultList.test.js +0 -323
- package/force-app/main/default/lwc/quanticFoldedResultList/e2e/fixture.ts +0 -74
- package/force-app/main/default/lwc/quanticFoldedResultList/e2e/pageObject.ts +0 -81
- package/force-app/main/default/lwc/quanticFoldedResultList/e2e/quanticFoldedResultList.e2e.ts +0 -69
- package/force-app/main/default/lwc/quanticGeneratedAnswer/__tests__/quanticGeneratedAnswer.test.js +0 -1575
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/agentData.ts +0 -279
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/data.ts +0 -56
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/fixture-agent.ts +0 -77
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/fixture.ts +0 -194
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/pageObject.ts +0 -599
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/quanticGeneratedAnswer.e2e.ts +0 -333
- package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/quanticGeneratedAnswerAgent.e2e.ts +0 -298
- package/force-app/main/default/lwc/quanticGeneratedAnswerBody/__tests__/quanticGeneratedAnswerBody.test.js +0 -418
- package/force-app/main/default/lwc/quanticGeneratedAnswerContent/__tests__/quanticGeneratedAnswerContent.test.js +0 -447
- package/force-app/main/default/lwc/quanticGeneratedAnswerCopyToClipboard/__tests__/quanticGeneratedAnswerCopyToClipboard.test.js +0 -129
- package/force-app/main/default/lwc/quanticGeneratedAnswerFollowUpInput/__tests__/quanticGeneratedAnswerFollowUpInput.test.js +0 -466
- package/force-app/main/default/lwc/quanticGeneratedAnswerStreamOfThought/__tests__/quanticGeneratedAnswerStreamOfThought.test.js +0 -402
- package/force-app/main/default/lwc/quanticGeneratedAnswerStreamOfThought/__tests__/stepsUtils.test.js +0 -118
- package/force-app/main/default/lwc/quanticGeneratedAnswerThread/__tests__/quanticGeneratedAnswerThread.test.js +0 -285
- 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/quanticInsightInterface/__tests__/quanticInsightInterface.test.js +0 -194
- package/force-app/main/default/lwc/quanticInsightSummary/__tests__/quanticInsightSummary.test.js +0 -230
- package/force-app/main/default/lwc/quanticModal/__tests__/quanticModal.test.js +0 -205
- package/force-app/main/default/lwc/quanticNotifications/__tests__/quanticNotifications.test.js +0 -309
- package/force-app/main/default/lwc/quanticNotifications/e2e/fixture.ts +0 -62
- package/force-app/main/default/lwc/quanticNotifications/e2e/pageObject.ts +0 -55
- package/force-app/main/default/lwc/quanticNotifications/e2e/quanticNotifications.e2e.ts +0 -47
- package/force-app/main/default/lwc/quanticNumericFacet/__tests__/quanticNumericFacet.test.js +0 -953
- package/force-app/main/default/lwc/quanticNumericFacet/e2e/data.ts +0 -48
- package/force-app/main/default/lwc/quanticNumericFacet/e2e/fixture.ts +0 -75
- package/force-app/main/default/lwc/quanticNumericFacet/e2e/pageObject.ts +0 -59
- package/force-app/main/default/lwc/quanticNumericFacet/e2e/quanticNumericFacet.e2e.ts +0 -186
- package/force-app/main/default/lwc/quanticPager/__tests__/quanticPager.test.js +0 -430
- package/force-app/main/default/lwc/quanticPager/e2e/fixture.ts +0 -65
- package/force-app/main/default/lwc/quanticPager/e2e/pageObject.ts +0 -69
- package/force-app/main/default/lwc/quanticPager/e2e/quanticPager.e2e.ts +0 -106
- package/force-app/main/default/lwc/quanticPlaceholder/__tests__/quanticPlaceholder.test.js +0 -47
- 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/quanticRecentQueriesList/__tests__/quanticRecentQueriesList.test.js +0 -448
- package/force-app/main/default/lwc/quanticRecentQueriesList/e2e/fixture.ts +0 -43
- package/force-app/main/default/lwc/quanticRecentQueriesList/e2e/pageObject.ts +0 -55
- package/force-app/main/default/lwc/quanticRecentQueriesList/e2e/quanticRecentQueriesList.e2e.ts +0 -93
- package/force-app/main/default/lwc/quanticRecentResultsList/__tests__/quanticRecentResultsList.test.js +0 -516
- package/force-app/main/default/lwc/quanticRecentResultsList/e2e/fixture.ts +0 -43
- package/force-app/main/default/lwc/quanticRecentResultsList/e2e/pageObject.ts +0 -61
- package/force-app/main/default/lwc/quanticRecentResultsList/e2e/quanticRecentResultsList.e2e.ts +0 -48
- package/force-app/main/default/lwc/quanticRecommendationList/__tests__/quanticRecommendationList.test.js +0 -491
- package/force-app/main/default/lwc/quanticRecommendationList/e2e/fixture.ts +0 -36
- package/force-app/main/default/lwc/quanticRecommendationList/e2e/pageObject.ts +0 -52
- package/force-app/main/default/lwc/quanticRecommendationList/e2e/quanticRecommendationList.e2e.ts +0 -53
- package/force-app/main/default/lwc/quanticRefineModalContent/__tests__/quanticRefineModalContent.test.js +0 -747
- package/force-app/main/default/lwc/quanticRefineToggle/__tests__/quanticRefineToggle.test.js +0 -544
- 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/quanticResultCopyToClipboard/__tests__/quanticResultCopyToClipboard.test.js +0 -300
- package/force-app/main/default/lwc/quanticResultCopyToClipboard/e2e/fixture.ts +0 -49
- package/force-app/main/default/lwc/quanticResultCopyToClipboard/e2e/pageObject.ts +0 -49
- package/force-app/main/default/lwc/quanticResultCopyToClipboard/e2e/quanticResultCopyToClipboard.e2e.ts +0 -40
- 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 -302
- package/force-app/main/default/lwc/quanticResultList/__tests__/quanticResultList.test.js +0 -342
- package/force-app/main/default/lwc/quanticResultList/e2e/fixture.ts +0 -70
- package/force-app/main/default/lwc/quanticResultList/e2e/pageObject.ts +0 -81
- package/force-app/main/default/lwc/quanticResultList/e2e/quanticResultList.e2e.ts +0 -69
- 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 -308
- package/force-app/main/default/lwc/quanticResultQuickview/e2e/fixture.ts +0 -85
- package/force-app/main/default/lwc/quanticResultQuickview/e2e/pageObject.ts +0 -38
- package/force-app/main/default/lwc/quanticResultQuickview/e2e/quanticResultQuickView.e2e.ts +0 -66
- package/force-app/main/default/lwc/quanticResultTemplate/__tests__/quanticResultTemplate.test.js +0 -90
- 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 -464
- package/force-app/main/default/lwc/quanticResultsPerPage/e2e/fixture.ts +0 -78
- 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 -487
- package/force-app/main/default/lwc/quanticSearchBox/e2e/fixture.ts +0 -86
- package/force-app/main/default/lwc/quanticSearchBox/e2e/pageObject.ts +0 -45
- package/force-app/main/default/lwc/quanticSearchBox/e2e/quanticSearchBox.e2e.ts +0 -159
- package/force-app/main/default/lwc/quanticSearchBoxInput/__tests__/quanticSearchBoxInput.test.js +0 -743
- package/force-app/main/default/lwc/quanticSearchBoxSuggestionsList/__tests__/quanticSearchBoxSuggestionsList.test.js +0 -571
- package/force-app/main/default/lwc/quanticSearchBoxSuggestionsList/e2e/fixture.ts +0 -113
- package/force-app/main/default/lwc/quanticSearchBoxSuggestionsList/e2e/pageObject.ts +0 -113
- package/force-app/main/default/lwc/quanticSearchBoxSuggestionsList/e2e/quanticSearchBoxSuggestionsList.e2e.ts +0 -282
- 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 -93
- 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 -95
- 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 -62
- package/force-app/main/default/lwc/quanticSort/e2e/pageObject.ts +0 -100
- package/force-app/main/default/lwc/quanticSort/e2e/quanticSort.e2e.ts +0 -86
- package/force-app/main/default/lwc/quanticSourceCitations/__tests__/quanticSourceCitations.test.js +0 -156
- package/force-app/main/default/lwc/quanticStandaloneSearchBox/__tests__/quanticStandaloneSearchBox.test.js +0 -387
- package/force-app/main/default/lwc/quanticStandaloneSearchBox/e2e/fixture.ts +0 -54
- package/force-app/main/default/lwc/quanticStandaloneSearchBox/e2e/pageObject.ts +0 -54
- package/force-app/main/default/lwc/quanticStandaloneSearchBox/e2e/quanticStandaloneSearchBox.e2e.ts +0 -72
- package/force-app/main/default/lwc/quanticStatefulButton/__tests__/quanticStatefulButton.test.js +0 -222
- package/force-app/main/default/lwc/quanticSummary/__tests__/quanticSummary.test.js +0 -244
- package/force-app/main/default/lwc/quanticTab/__tests__/quanticTab.test.js +0 -333
- package/force-app/main/default/lwc/quanticTab/e2e/fixture.ts +0 -60
- package/force-app/main/default/lwc/quanticTab/e2e/pageObject.ts +0 -68
- package/force-app/main/default/lwc/quanticTab/e2e/quanticTab.e2e.ts +0 -72
- package/force-app/main/default/lwc/quanticTabBar/__tests__/quanticTabBar.test.js +0 -331
- package/force-app/main/default/lwc/quanticTabBar/e2e/fixture.ts +0 -65
- package/force-app/main/default/lwc/quanticTabBar/e2e/pageObject.ts +0 -80
- package/force-app/main/default/lwc/quanticTabBar/e2e/quanticTabBar.e2e.ts +0 -172
- package/force-app/main/default/lwc/quanticThreadItem/__tests__/quanticThreadItem.test.js +0 -314
- package/force-app/main/default/lwc/quanticTimeframeFacet/__tests__/quanticTimeframeFacet.test.js +0 -1059
- package/force-app/main/default/lwc/quanticTimeframeFacet/e2e/data.ts +0 -66
- package/force-app/main/default/lwc/quanticTimeframeFacet/e2e/fixture.ts +0 -74
- package/force-app/main/default/lwc/quanticTimeframeFacet/e2e/pageObject.ts +0 -43
- package/force-app/main/default/lwc/quanticTimeframeFacet/e2e/quanticTimeframeFacet.e2e.ts +0 -184
- 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__/accessibilityUtils.test.js +0 -214
- package/force-app/main/default/lwc/quanticUtils/__tests__/citationAnchoringUtils.test.js +0 -84
- package/force-app/main/default/lwc/quanticUtils/__tests__/facetDependenciesUtils.test.js +0 -92
- package/force-app/main/default/lwc/quanticUtils/__tests__/facetStoreUtils.test.js +0 -86
- package/force-app/main/default/lwc/quanticUtils/__tests__/markdownUtils.test.js +0 -109
- package/force-app/main/default/lwc/quanticUtils/__tests__/quanticUtils.test.js +0 -233
- package/force-app/main/default/lwc/quanticUtils/__tests__/timeAndDateUtils.test.js +0 -22
- package/force-app/main/default/lwc/quanticViewedByCustomerBadge/__tests__/quanticViewedByCustomerBadge.test.js +0 -131
package/force-app/main/default/lwc/quanticFeedbackModal/__tests__/quanticFeedbackModal.test.js
DELETED
|
@@ -1,448 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
import {createElement} from 'lwc';
|
|
3
|
-
import QuanticFeedbackModal from '../quanticFeedbackModal';
|
|
4
|
-
|
|
5
|
-
const functionsMocks = {
|
|
6
|
-
handleSubmit: jest.fn(),
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const selectors = {
|
|
10
|
-
errorMessage: '.error-message',
|
|
11
|
-
submitButton: '.feedback-modal-footer__submit',
|
|
12
|
-
successMesage: '.feedback-modal-body__success-message',
|
|
13
|
-
radioGroup: 'lightning-radio-group',
|
|
14
|
-
textarea: 'lightning-textarea',
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const exampleValue = 'example value';
|
|
18
|
-
const exampleLabel = 'example label';
|
|
19
|
-
const exampleDetails = 'example details';
|
|
20
|
-
/** @type {Array} */
|
|
21
|
-
const exampleOptions = [{label: exampleLabel, value: exampleValue}];
|
|
22
|
-
|
|
23
|
-
const errors = {
|
|
24
|
-
invalidArrayError: 'The options provided must be a non-empty array.',
|
|
25
|
-
missingLabelOrValueError:
|
|
26
|
-
'Each option requires a label and a value to be specified.',
|
|
27
|
-
missingSubmitFeedback: 'The handleSubmit property is not a valid function.',
|
|
28
|
-
invalidLabelTypeError: (label) =>
|
|
29
|
-
`The "${label}" label is not a valid string.`,
|
|
30
|
-
invalidValueTypeError: (value) =>
|
|
31
|
-
`The "${value}" value is not a valid string.`,
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const defaultOptions = {
|
|
35
|
-
options: exampleOptions,
|
|
36
|
-
handleSubmit: functionsMocks.handleSubmit,
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
function createTestComponent(options = defaultOptions) {
|
|
40
|
-
const element = createElement('c-quantic-feedback-modal', {
|
|
41
|
-
is: QuanticFeedbackModal,
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
for (const [key, value] of Object.entries(options)) {
|
|
45
|
-
element[key] = value;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
document.body.appendChild(element);
|
|
49
|
-
return element;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// Helper function to wait until the microtask queue is empty.
|
|
53
|
-
function flushPromises() {
|
|
54
|
-
return new Promise((resolve) => setTimeout(resolve, 0));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function selectOption(element, value) {
|
|
58
|
-
const radioGroup = element.shadowRoot.querySelector(selectors.radioGroup);
|
|
59
|
-
|
|
60
|
-
const event = new CustomEvent('change', {
|
|
61
|
-
detail: {value},
|
|
62
|
-
});
|
|
63
|
-
expect(radioGroup).not.toBeNull();
|
|
64
|
-
radioGroup.dispatchEvent(event);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function typeDetails(element, value) {
|
|
68
|
-
const textarea = element.shadowRoot.querySelector(selectors.textarea);
|
|
69
|
-
const event = new CustomEvent('change', {
|
|
70
|
-
detail: {value},
|
|
71
|
-
});
|
|
72
|
-
expect(textarea).not.toBeNull();
|
|
73
|
-
textarea.dispatchEvent(event);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
describe('c-quantic-fedback-modal', () => {
|
|
77
|
-
function cleanup() {
|
|
78
|
-
// The jsdom instance is shared across test cases in a single file so reset the DOM
|
|
79
|
-
while (document.body.firstChild) {
|
|
80
|
-
document.body.removeChild(document.body.firstChild);
|
|
81
|
-
}
|
|
82
|
-
jest.clearAllMocks();
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
beforeEach(() => {
|
|
86
|
-
console.error = jest.fn();
|
|
87
|
-
// @ts-ignore
|
|
88
|
-
global.Bueno = {
|
|
89
|
-
isString: jest
|
|
90
|
-
.fn()
|
|
91
|
-
.mockImplementation(
|
|
92
|
-
(value) => Object.prototype.toString.call(value) === '[object String]'
|
|
93
|
-
),
|
|
94
|
-
isNumber: jest
|
|
95
|
-
.fn()
|
|
96
|
-
.mockImplementation(
|
|
97
|
-
(value) => typeof value === 'number' && !isNaN(value)
|
|
98
|
-
),
|
|
99
|
-
isArray: jest
|
|
100
|
-
.fn()
|
|
101
|
-
.mockImplementation(
|
|
102
|
-
(value) => Object.prototype.toString.call(value) === '[object Array]'
|
|
103
|
-
),
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
afterEach(() => {
|
|
108
|
-
cleanup();
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
describe('when invalid options are provided to the feedback modal', () => {
|
|
112
|
-
describe('when the submit feedback property is not a valid function', () => {
|
|
113
|
-
it('should display and log an error message', async () => {
|
|
114
|
-
const element = createTestComponent({
|
|
115
|
-
...defaultOptions,
|
|
116
|
-
handleSubmit: null,
|
|
117
|
-
});
|
|
118
|
-
await flushPromises();
|
|
119
|
-
|
|
120
|
-
const errorMessage = element.shadowRoot.querySelector(
|
|
121
|
-
selectors.errorMessage
|
|
122
|
-
);
|
|
123
|
-
|
|
124
|
-
expect(errorMessage).not.toBeNull();
|
|
125
|
-
expect(console.error).toHaveBeenCalledWith(
|
|
126
|
-
errors.missingSubmitFeedback
|
|
127
|
-
);
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
describe('when the options property is not a valid array', () => {
|
|
132
|
-
it('should display and log an error message', async () => {
|
|
133
|
-
const element = createTestComponent({...defaultOptions, options: null});
|
|
134
|
-
await flushPromises();
|
|
135
|
-
|
|
136
|
-
const errorMessage = element.shadowRoot.querySelector(
|
|
137
|
-
selectors.errorMessage
|
|
138
|
-
);
|
|
139
|
-
|
|
140
|
-
expect(errorMessage).not.toBeNull();
|
|
141
|
-
expect(console.error).toHaveBeenCalledWith(errors.invalidArrayError);
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
describe('when the options property is an empty array', () => {
|
|
146
|
-
it('should display and log an error message', async () => {
|
|
147
|
-
const element = createTestComponent({...defaultOptions, options: []});
|
|
148
|
-
await flushPromises();
|
|
149
|
-
|
|
150
|
-
const errorMessage = element.shadowRoot.querySelector(
|
|
151
|
-
selectors.errorMessage
|
|
152
|
-
);
|
|
153
|
-
|
|
154
|
-
expect(errorMessage).not.toBeNull();
|
|
155
|
-
expect(console.error).toHaveBeenCalledWith(errors.invalidArrayError);
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
describe('when one of the options does not contain a label', () => {
|
|
160
|
-
it('should display and log an error message', async () => {
|
|
161
|
-
const element = createTestComponent({
|
|
162
|
-
...defaultOptions,
|
|
163
|
-
options: [{value: exampleValue}],
|
|
164
|
-
});
|
|
165
|
-
await flushPromises();
|
|
166
|
-
|
|
167
|
-
const errorMessage = element.shadowRoot.querySelector(
|
|
168
|
-
selectors.errorMessage
|
|
169
|
-
);
|
|
170
|
-
|
|
171
|
-
expect(errorMessage).not.toBeNull();
|
|
172
|
-
expect(console.error).toHaveBeenCalledWith(
|
|
173
|
-
errors.missingLabelOrValueError
|
|
174
|
-
);
|
|
175
|
-
});
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
describe('when one of the options does not contain a value', () => {
|
|
179
|
-
it('should display and log an error message', async () => {
|
|
180
|
-
const element = createTestComponent({
|
|
181
|
-
...defaultOptions,
|
|
182
|
-
options: [{label: exampleValue}],
|
|
183
|
-
});
|
|
184
|
-
await flushPromises();
|
|
185
|
-
|
|
186
|
-
const errorMessage = element.shadowRoot.querySelector(
|
|
187
|
-
selectors.errorMessage
|
|
188
|
-
);
|
|
189
|
-
|
|
190
|
-
expect(errorMessage).not.toBeNull();
|
|
191
|
-
expect(console.error).toHaveBeenCalledWith(
|
|
192
|
-
errors.missingLabelOrValueError
|
|
193
|
-
);
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
describe('when a label of one of the options is not of type string', () => {
|
|
198
|
-
it('should display and log an error message', async () => {
|
|
199
|
-
const invalidLabel = 1;
|
|
200
|
-
const element = createTestComponent({
|
|
201
|
-
...defaultOptions,
|
|
202
|
-
options: [{label: invalidLabel, value: exampleValue}],
|
|
203
|
-
});
|
|
204
|
-
await flushPromises();
|
|
205
|
-
|
|
206
|
-
const errorMessage = element.shadowRoot.querySelector(
|
|
207
|
-
selectors.errorMessage
|
|
208
|
-
);
|
|
209
|
-
|
|
210
|
-
expect(errorMessage).not.toBeNull();
|
|
211
|
-
expect(console.error).toHaveBeenCalledWith(
|
|
212
|
-
errors.invalidLabelTypeError(invalidLabel)
|
|
213
|
-
);
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
|
|
217
|
-
describe('when a value of one of the options is not of type string', () => {
|
|
218
|
-
it('should display and log an error message', async () => {
|
|
219
|
-
const invalidValue = 1;
|
|
220
|
-
const element = createTestComponent({
|
|
221
|
-
...defaultOptions,
|
|
222
|
-
options: [{label: exampleValue, value: invalidValue}],
|
|
223
|
-
});
|
|
224
|
-
await flushPromises();
|
|
225
|
-
|
|
226
|
-
const errorMessage = element.shadowRoot.querySelector(
|
|
227
|
-
selectors.errorMessage
|
|
228
|
-
);
|
|
229
|
-
|
|
230
|
-
expect(errorMessage).not.toBeNull();
|
|
231
|
-
expect(console.error).toHaveBeenCalledWith(
|
|
232
|
-
errors.invalidValueTypeError(invalidValue)
|
|
233
|
-
);
|
|
234
|
-
});
|
|
235
|
-
});
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
describe('when valid options are provided to the feedback modal', () => {
|
|
239
|
-
describe('when an option with details is provided', () => {
|
|
240
|
-
it('should display the details input when the option is selected', async () => {
|
|
241
|
-
const element = createTestComponent({
|
|
242
|
-
...defaultOptions,
|
|
243
|
-
options: [
|
|
244
|
-
{label: exampleLabel, value: exampleValue, withDetails: true},
|
|
245
|
-
],
|
|
246
|
-
});
|
|
247
|
-
await flushPromises();
|
|
248
|
-
|
|
249
|
-
selectOption(element, exampleValue);
|
|
250
|
-
await flushPromises();
|
|
251
|
-
|
|
252
|
-
const detailsInput = element.shadowRoot.querySelector(
|
|
253
|
-
selectors.textarea
|
|
254
|
-
);
|
|
255
|
-
expect(detailsInput).not.toBeNull();
|
|
256
|
-
});
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
describe('when a custom options label is provided', () => {
|
|
260
|
-
it('should display the correct label', async () => {
|
|
261
|
-
const customLabel = 'example label';
|
|
262
|
-
const element = createTestComponent({
|
|
263
|
-
...defaultOptions,
|
|
264
|
-
optionsLabel: customLabel,
|
|
265
|
-
});
|
|
266
|
-
await flushPromises();
|
|
267
|
-
|
|
268
|
-
const radioGroup = element.shadowRoot.querySelector(
|
|
269
|
-
selectors.radioGroup
|
|
270
|
-
);
|
|
271
|
-
expect(radioGroup.label).toBe(customLabel);
|
|
272
|
-
});
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
describe('when an option without details is provided', () => {
|
|
276
|
-
it('should not display the details input when the option is selected', async () => {
|
|
277
|
-
const element = createTestComponent({
|
|
278
|
-
...defaultOptions,
|
|
279
|
-
options: [
|
|
280
|
-
{label: exampleLabel, value: exampleValue, withDetails: false},
|
|
281
|
-
],
|
|
282
|
-
});
|
|
283
|
-
await flushPromises();
|
|
284
|
-
|
|
285
|
-
selectOption(element, exampleValue);
|
|
286
|
-
await flushPromises();
|
|
287
|
-
|
|
288
|
-
const detailsInput = element.shadowRoot.querySelector(
|
|
289
|
-
selectors.textarea
|
|
290
|
-
);
|
|
291
|
-
expect(detailsInput).toBeNull();
|
|
292
|
-
});
|
|
293
|
-
});
|
|
294
|
-
|
|
295
|
-
describe('when the form is submitted and the required inputs are not filled', () => {
|
|
296
|
-
it('should not display the success message', async () => {
|
|
297
|
-
const element = createTestComponent();
|
|
298
|
-
await flushPromises();
|
|
299
|
-
|
|
300
|
-
const submitButton = element.shadowRoot.querySelector(
|
|
301
|
-
selectors.submitButton
|
|
302
|
-
);
|
|
303
|
-
|
|
304
|
-
expect(submitButton).not.toBeNull();
|
|
305
|
-
submitButton.click();
|
|
306
|
-
await flushPromises();
|
|
307
|
-
|
|
308
|
-
const successMesage = element.shadowRoot.querySelector(
|
|
309
|
-
selectors.successMesage
|
|
310
|
-
);
|
|
311
|
-
expect(successMesage).toBeNull();
|
|
312
|
-
});
|
|
313
|
-
|
|
314
|
-
describe('when an option with required details is selected', () => {
|
|
315
|
-
it('should not display the success message', async () => {
|
|
316
|
-
const element = createTestComponent({
|
|
317
|
-
...defaultOptions,
|
|
318
|
-
options: [
|
|
319
|
-
{
|
|
320
|
-
label: exampleLabel,
|
|
321
|
-
value: exampleValue,
|
|
322
|
-
withDetails: true,
|
|
323
|
-
detailsRequired: true,
|
|
324
|
-
},
|
|
325
|
-
],
|
|
326
|
-
});
|
|
327
|
-
await flushPromises();
|
|
328
|
-
|
|
329
|
-
selectOption(element, exampleValue);
|
|
330
|
-
|
|
331
|
-
const submitButton = element.shadowRoot.querySelector(
|
|
332
|
-
selectors.submitButton
|
|
333
|
-
);
|
|
334
|
-
|
|
335
|
-
expect(submitButton).not.toBeNull();
|
|
336
|
-
submitButton.click();
|
|
337
|
-
await flushPromises();
|
|
338
|
-
|
|
339
|
-
const successMesage = element.shadowRoot.querySelector(
|
|
340
|
-
selectors.successMesage
|
|
341
|
-
);
|
|
342
|
-
expect(successMesage).toBeNull();
|
|
343
|
-
});
|
|
344
|
-
});
|
|
345
|
-
});
|
|
346
|
-
|
|
347
|
-
describe('when the form is submitted and the required inputs are properly filled', () => {
|
|
348
|
-
it('should display the success message and execute the submit feedback function', async () => {
|
|
349
|
-
const element = createTestComponent();
|
|
350
|
-
await flushPromises();
|
|
351
|
-
|
|
352
|
-
selectOption(element, exampleValue);
|
|
353
|
-
|
|
354
|
-
const submitButton = element.shadowRoot.querySelector(
|
|
355
|
-
selectors.submitButton
|
|
356
|
-
);
|
|
357
|
-
|
|
358
|
-
expect(submitButton).not.toBeNull();
|
|
359
|
-
submitButton.click();
|
|
360
|
-
await flushPromises();
|
|
361
|
-
|
|
362
|
-
const successMesage = element.shadowRoot.querySelector(
|
|
363
|
-
selectors.successMesage
|
|
364
|
-
);
|
|
365
|
-
expect(successMesage).not.toBeNull();
|
|
366
|
-
expect(functionsMocks.handleSubmit).toHaveBeenCalledWith({
|
|
367
|
-
details: undefined,
|
|
368
|
-
value: exampleValue,
|
|
369
|
-
});
|
|
370
|
-
});
|
|
371
|
-
|
|
372
|
-
describe('when an option with required details is selected', () => {
|
|
373
|
-
it('should display the success message and execute the submit feedback function', async () => {
|
|
374
|
-
const element = createTestComponent({
|
|
375
|
-
...defaultOptions,
|
|
376
|
-
options: [
|
|
377
|
-
{
|
|
378
|
-
label: exampleLabel,
|
|
379
|
-
value: exampleValue,
|
|
380
|
-
withDetails: true,
|
|
381
|
-
detailsRequired: true,
|
|
382
|
-
},
|
|
383
|
-
],
|
|
384
|
-
});
|
|
385
|
-
await flushPromises();
|
|
386
|
-
|
|
387
|
-
selectOption(element, exampleValue);
|
|
388
|
-
await flushPromises();
|
|
389
|
-
typeDetails(element, exampleDetails);
|
|
390
|
-
|
|
391
|
-
const submitButton = element.shadowRoot.querySelector(
|
|
392
|
-
selectors.submitButton
|
|
393
|
-
);
|
|
394
|
-
|
|
395
|
-
expect(submitButton).not.toBeNull();
|
|
396
|
-
submitButton.click();
|
|
397
|
-
await flushPromises();
|
|
398
|
-
|
|
399
|
-
const successMesage = element.shadowRoot.querySelector(
|
|
400
|
-
selectors.successMesage
|
|
401
|
-
);
|
|
402
|
-
expect(successMesage).not.toBeNull();
|
|
403
|
-
expect(functionsMocks.handleSubmit).toHaveBeenCalledWith({
|
|
404
|
-
details: exampleDetails,
|
|
405
|
-
value: exampleValue,
|
|
406
|
-
});
|
|
407
|
-
});
|
|
408
|
-
});
|
|
409
|
-
|
|
410
|
-
describe('when an option with optional details is selected', () => {
|
|
411
|
-
it('should display the success message and execute the submit feedback function', async () => {
|
|
412
|
-
const element = createTestComponent({
|
|
413
|
-
...defaultOptions,
|
|
414
|
-
options: [
|
|
415
|
-
{
|
|
416
|
-
label: exampleLabel,
|
|
417
|
-
value: exampleValue,
|
|
418
|
-
withDetails: true,
|
|
419
|
-
detailsRequired: false,
|
|
420
|
-
},
|
|
421
|
-
],
|
|
422
|
-
});
|
|
423
|
-
await flushPromises();
|
|
424
|
-
|
|
425
|
-
selectOption(element, exampleValue);
|
|
426
|
-
await flushPromises();
|
|
427
|
-
|
|
428
|
-
const submitButton = element.shadowRoot.querySelector(
|
|
429
|
-
selectors.submitButton
|
|
430
|
-
);
|
|
431
|
-
|
|
432
|
-
expect(submitButton).not.toBeNull();
|
|
433
|
-
submitButton.click();
|
|
434
|
-
await flushPromises();
|
|
435
|
-
|
|
436
|
-
const successMesage = element.shadowRoot.querySelector(
|
|
437
|
-
selectors.successMesage
|
|
438
|
-
);
|
|
439
|
-
expect(successMesage).not.toBeNull();
|
|
440
|
-
expect(functionsMocks.handleSubmit).toHaveBeenCalledWith({
|
|
441
|
-
details: undefined,
|
|
442
|
-
value: exampleValue,
|
|
443
|
-
});
|
|
444
|
-
});
|
|
445
|
-
});
|
|
446
|
-
});
|
|
447
|
-
});
|
|
448
|
-
});
|