@coveo/quantic 3.44.0 → 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/quanticNumberButton/quanticNumberButton.js +5 -1
- package/force-app/main/default/lwc/quanticPager/quanticPager.html +8 -5
- 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 +37 -34
- 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
|
@@ -1,427 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
import quanticUserAction from 'c/quanticUserAction';
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
import {createElement} from 'lwc';
|
|
5
|
-
|
|
6
|
-
jest.mock(
|
|
7
|
-
'@salesforce/label/c.quantic_TicketCreated',
|
|
8
|
-
() => ({default: 'Ticket created'}),
|
|
9
|
-
{
|
|
10
|
-
virtual: true,
|
|
11
|
-
}
|
|
12
|
-
);
|
|
13
|
-
jest.mock(
|
|
14
|
-
'@salesforce/label/c.quantic_EmptySearch',
|
|
15
|
-
() => ({default: 'Empty search'}),
|
|
16
|
-
{
|
|
17
|
-
virtual: true,
|
|
18
|
-
}
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
const expectedSearchHub = 'example search hub';
|
|
22
|
-
const expectedEventDataValue = 'example event data value';
|
|
23
|
-
const expectedEventDataType = 'example event data type';
|
|
24
|
-
const expectedTitle = 'example title';
|
|
25
|
-
const expectedQuery = 'example query';
|
|
26
|
-
const expectedUrl = 'https://www.coveo.com/';
|
|
27
|
-
|
|
28
|
-
const expectations = {
|
|
29
|
-
ticketCreation: {
|
|
30
|
-
iconName: 'utility:priority',
|
|
31
|
-
iconClass: 'user-action__ticket-creation-icon',
|
|
32
|
-
titleClass: 'user-action__ticket-creation-title',
|
|
33
|
-
},
|
|
34
|
-
customAction: {
|
|
35
|
-
iconName: 'utility:record',
|
|
36
|
-
iconClass: 'user-action__custom-action-icon',
|
|
37
|
-
titleClass: 'user-action__title',
|
|
38
|
-
},
|
|
39
|
-
clickAction: {
|
|
40
|
-
iconName: 'utility:file',
|
|
41
|
-
iconClass: 'user-action__click-action-icon',
|
|
42
|
-
titleClass: 'user-action__title',
|
|
43
|
-
},
|
|
44
|
-
searchAction: {
|
|
45
|
-
iconName: 'utility:search',
|
|
46
|
-
iconClass: 'user-action__search-action-icon',
|
|
47
|
-
titleClass: 'user-action__title',
|
|
48
|
-
},
|
|
49
|
-
viewAction: {
|
|
50
|
-
iconName: 'utility:preview',
|
|
51
|
-
iconClass: 'user-action__view-action-icon',
|
|
52
|
-
titleClass: 'user-action__title',
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
const selectors = {
|
|
57
|
-
icon: 'lightning-icon',
|
|
58
|
-
title: '[data-test="action__title"]',
|
|
59
|
-
searchHub: '[data-test="action__search-hub"]',
|
|
60
|
-
timestamp: '[data-test="action__timestamp"]',
|
|
61
|
-
link: 'a',
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
function createTestComponent(options) {
|
|
65
|
-
const element = createElement('c-quantic-user-action', {
|
|
66
|
-
is: quanticUserAction,
|
|
67
|
-
});
|
|
68
|
-
for (const [key, value] of Object.entries(options)) {
|
|
69
|
-
element[key] = value;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
document.body.appendChild(element);
|
|
73
|
-
return element;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Helper function to wait until the microtask queue is empty.
|
|
77
|
-
function flushPromises() {
|
|
78
|
-
// eslint-disable-next-line @lwc/lwc/no-async-operation
|
|
79
|
-
return new Promise((resolve) => setTimeout(resolve, 0));
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
describe('c-quantic-user-action', () => {
|
|
83
|
-
function cleanup() {
|
|
84
|
-
// The jsdom instance is shared across test cases in a single file so reset the DOM
|
|
85
|
-
while (document.body.firstChild) {
|
|
86
|
-
document.body.removeChild(document.body.firstChild);
|
|
87
|
-
}
|
|
88
|
-
jest.clearAllMocks();
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
afterEach(() => {
|
|
92
|
-
cleanup();
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
let exampleDate = new Date('2024-09-25T04:06');
|
|
96
|
-
let exampleDateInUTC = new Date(exampleDate.toUTCString());
|
|
97
|
-
describe('ticket creation action', () => {
|
|
98
|
-
const exampleAction = {
|
|
99
|
-
actionType: 'TICKET_CREATION',
|
|
100
|
-
searchHub: expectedSearchHub,
|
|
101
|
-
timestamp: exampleDateInUTC,
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
it('should properly display the action icon', async () => {
|
|
105
|
-
const element = createTestComponent({action: exampleAction});
|
|
106
|
-
await flushPromises();
|
|
107
|
-
|
|
108
|
-
const icon = element.shadowRoot.querySelector(selectors.icon);
|
|
109
|
-
|
|
110
|
-
const {iconName, iconClass} = expectations.ticketCreation;
|
|
111
|
-
|
|
112
|
-
expect(icon).not.toBeNull();
|
|
113
|
-
expect(icon.iconName).toBe(iconName);
|
|
114
|
-
expect(icon.classList.contains(iconClass)).toBe(true);
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
it('should properly display the action title', async () => {
|
|
118
|
-
const element = createTestComponent({action: exampleAction});
|
|
119
|
-
await flushPromises();
|
|
120
|
-
|
|
121
|
-
const title = element.shadowRoot.querySelector(selectors.title);
|
|
122
|
-
|
|
123
|
-
const {titleClass} = expectations.ticketCreation;
|
|
124
|
-
|
|
125
|
-
expect(title).not.toBeNull();
|
|
126
|
-
expect(title.textContent).toBe('Ticket created');
|
|
127
|
-
expect(title.classList.contains(titleClass)).toBe(true);
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
it('should properly display the action details', async () => {
|
|
131
|
-
const element = createTestComponent({action: exampleAction});
|
|
132
|
-
await flushPromises();
|
|
133
|
-
|
|
134
|
-
const timestamp = element.shadowRoot.querySelector(selectors.timestamp);
|
|
135
|
-
const searchHub = element.shadowRoot.querySelector(selectors.searchHub);
|
|
136
|
-
|
|
137
|
-
expect(timestamp).not.toBeNull();
|
|
138
|
-
expect(searchHub).not.toBeNull();
|
|
139
|
-
|
|
140
|
-
expect(searchHub.textContent).toBe(expectedSearchHub);
|
|
141
|
-
expect(timestamp.textContent).toBe('04:06');
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
describe('custom action', () => {
|
|
146
|
-
exampleDate = new Date('2024-09-25T04:07');
|
|
147
|
-
exampleDateInUTC = new Date(exampleDate.toUTCString());
|
|
148
|
-
const exampleAction = {
|
|
149
|
-
actionType: 'CUSTOM',
|
|
150
|
-
searchHub: expectedSearchHub,
|
|
151
|
-
timestamp: exampleDateInUTC,
|
|
152
|
-
eventData: {
|
|
153
|
-
value: expectedEventDataValue,
|
|
154
|
-
},
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
it('should properly display the action icon', async () => {
|
|
158
|
-
const element = createTestComponent({action: exampleAction});
|
|
159
|
-
await flushPromises();
|
|
160
|
-
|
|
161
|
-
const icon = element.shadowRoot.querySelector(selectors.icon);
|
|
162
|
-
|
|
163
|
-
const {iconName, iconClass} = expectations.customAction;
|
|
164
|
-
|
|
165
|
-
expect(icon).not.toBeNull();
|
|
166
|
-
expect(icon.iconName).toBe(iconName);
|
|
167
|
-
expect(icon.classList.contains(iconClass)).toBe(true);
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
it('should properly display the action title', async () => {
|
|
171
|
-
const element = createTestComponent({action: exampleAction});
|
|
172
|
-
await flushPromises();
|
|
173
|
-
|
|
174
|
-
const title = element.shadowRoot.querySelector(selectors.title);
|
|
175
|
-
|
|
176
|
-
const {titleClass} = expectations.customAction;
|
|
177
|
-
|
|
178
|
-
expect(title).not.toBeNull();
|
|
179
|
-
expect(title.textContent).toBe(expectedEventDataValue);
|
|
180
|
-
expect(title.classList.contains(titleClass)).toBe(true);
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
it('should properly display the action details', async () => {
|
|
184
|
-
const element = createTestComponent({action: exampleAction});
|
|
185
|
-
await flushPromises();
|
|
186
|
-
|
|
187
|
-
const timestamp = element.shadowRoot.querySelector(selectors.timestamp);
|
|
188
|
-
const searchHub = element.shadowRoot.querySelector(selectors.searchHub);
|
|
189
|
-
|
|
190
|
-
expect(timestamp).not.toBeNull();
|
|
191
|
-
expect(searchHub).not.toBeNull();
|
|
192
|
-
|
|
193
|
-
expect(searchHub.textContent).toBe(expectedSearchHub);
|
|
194
|
-
expect(timestamp.textContent).toBe('04:07');
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
describe('when the action.eventData.value is empty', () => {
|
|
198
|
-
it('should display action.eventData.type as the action title', async () => {
|
|
199
|
-
const element = createTestComponent({
|
|
200
|
-
action: {
|
|
201
|
-
...exampleAction,
|
|
202
|
-
eventData: {
|
|
203
|
-
value: '',
|
|
204
|
-
type: expectedEventDataType,
|
|
205
|
-
},
|
|
206
|
-
},
|
|
207
|
-
});
|
|
208
|
-
await flushPromises();
|
|
209
|
-
|
|
210
|
-
const title = element.shadowRoot.querySelector(selectors.title);
|
|
211
|
-
|
|
212
|
-
const {titleClass} = expectations.searchAction;
|
|
213
|
-
|
|
214
|
-
expect(title).not.toBeNull();
|
|
215
|
-
expect(title.textContent).toBe(expectedEventDataType);
|
|
216
|
-
expect(title.classList.contains(titleClass)).toBe(true);
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
describe('click action', () => {
|
|
222
|
-
exampleDate = new Date('2024-09-25T05:07');
|
|
223
|
-
exampleDateInUTC = new Date(exampleDate.toUTCString());
|
|
224
|
-
const exampleAction = {
|
|
225
|
-
actionType: 'CLICK',
|
|
226
|
-
searchHub: expectedSearchHub,
|
|
227
|
-
timestamp: exampleDateInUTC,
|
|
228
|
-
document: {
|
|
229
|
-
title: expectedTitle,
|
|
230
|
-
},
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
it('should properly display the action icon', async () => {
|
|
234
|
-
const element = createTestComponent({action: exampleAction});
|
|
235
|
-
await flushPromises();
|
|
236
|
-
|
|
237
|
-
const icon = element.shadowRoot.querySelector(selectors.icon);
|
|
238
|
-
|
|
239
|
-
const {iconName, iconClass} = expectations.clickAction;
|
|
240
|
-
|
|
241
|
-
expect(icon).not.toBeNull();
|
|
242
|
-
expect(icon.iconName).toBe(iconName);
|
|
243
|
-
expect(icon.classList.contains(iconClass)).toBe(true);
|
|
244
|
-
});
|
|
245
|
-
|
|
246
|
-
it('should properly display the action title', async () => {
|
|
247
|
-
const element = createTestComponent({action: exampleAction});
|
|
248
|
-
await flushPromises();
|
|
249
|
-
|
|
250
|
-
const title = element.shadowRoot.querySelector(selectors.title);
|
|
251
|
-
|
|
252
|
-
const {titleClass} = expectations.clickAction;
|
|
253
|
-
|
|
254
|
-
expect(title).not.toBeNull();
|
|
255
|
-
expect(title.textContent).toBe(expectedTitle);
|
|
256
|
-
expect(title.classList.contains(titleClass)).toBe(true);
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
it('should properly display the action details', async () => {
|
|
260
|
-
const element = createTestComponent({action: exampleAction});
|
|
261
|
-
await flushPromises();
|
|
262
|
-
|
|
263
|
-
const timestamp = element.shadowRoot.querySelector(selectors.timestamp);
|
|
264
|
-
const searchHub = element.shadowRoot.querySelector(selectors.searchHub);
|
|
265
|
-
|
|
266
|
-
expect(timestamp).not.toBeNull();
|
|
267
|
-
expect(searchHub).not.toBeNull();
|
|
268
|
-
|
|
269
|
-
expect(searchHub.textContent).toBe(expectedSearchHub);
|
|
270
|
-
expect(timestamp.textContent).toBe('05:07');
|
|
271
|
-
});
|
|
272
|
-
});
|
|
273
|
-
|
|
274
|
-
describe('search action', () => {
|
|
275
|
-
exampleDate = new Date('2024-09-25T06:08');
|
|
276
|
-
exampleDateInUTC = new Date(exampleDate.toUTCString());
|
|
277
|
-
const exampleAction = {
|
|
278
|
-
actionType: 'SEARCH',
|
|
279
|
-
searchHub: expectedSearchHub,
|
|
280
|
-
timestamp: exampleDateInUTC,
|
|
281
|
-
query: expectedQuery,
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
it('should properly display the action icon', async () => {
|
|
285
|
-
const element = createTestComponent({action: exampleAction});
|
|
286
|
-
await flushPromises();
|
|
287
|
-
|
|
288
|
-
const icon = element.shadowRoot.querySelector(selectors.icon);
|
|
289
|
-
|
|
290
|
-
const {iconName, iconClass} = expectations.searchAction;
|
|
291
|
-
|
|
292
|
-
expect(icon).not.toBeNull();
|
|
293
|
-
expect(icon.iconName).toBe(iconName);
|
|
294
|
-
expect(icon.classList.contains(iconClass)).toBe(true);
|
|
295
|
-
});
|
|
296
|
-
|
|
297
|
-
it('should properly display the action title', async () => {
|
|
298
|
-
const element = createTestComponent({action: exampleAction});
|
|
299
|
-
await flushPromises();
|
|
300
|
-
|
|
301
|
-
const title = element.shadowRoot.querySelector(selectors.title);
|
|
302
|
-
|
|
303
|
-
const {titleClass} = expectations.searchAction;
|
|
304
|
-
|
|
305
|
-
expect(title).not.toBeNull();
|
|
306
|
-
expect(title.textContent).toBe(expectedQuery);
|
|
307
|
-
expect(title.classList.contains(titleClass)).toBe(true);
|
|
308
|
-
});
|
|
309
|
-
|
|
310
|
-
it('should properly display the action details', async () => {
|
|
311
|
-
const element = createTestComponent({action: exampleAction});
|
|
312
|
-
await flushPromises();
|
|
313
|
-
|
|
314
|
-
const timestamp = element.shadowRoot.querySelector(selectors.timestamp);
|
|
315
|
-
const searchHub = element.shadowRoot.querySelector(selectors.searchHub);
|
|
316
|
-
|
|
317
|
-
expect(timestamp).not.toBeNull();
|
|
318
|
-
expect(searchHub).not.toBeNull();
|
|
319
|
-
|
|
320
|
-
expect(searchHub.textContent).toBe(expectedSearchHub);
|
|
321
|
-
expect(timestamp.textContent).toBe('06:08');
|
|
322
|
-
});
|
|
323
|
-
|
|
324
|
-
describe('when the query is empty', () => {
|
|
325
|
-
it('should display "Empty search" as the action title', async () => {
|
|
326
|
-
const element = createTestComponent({
|
|
327
|
-
action: {...exampleAction, query: ''},
|
|
328
|
-
});
|
|
329
|
-
await flushPromises();
|
|
330
|
-
|
|
331
|
-
const title = element.shadowRoot.querySelector(selectors.title);
|
|
332
|
-
|
|
333
|
-
const {titleClass} = expectations.searchAction;
|
|
334
|
-
|
|
335
|
-
expect(title).not.toBeNull();
|
|
336
|
-
expect(title.textContent).toBe('Empty search');
|
|
337
|
-
expect(title.classList.contains(titleClass)).toBe(true);
|
|
338
|
-
});
|
|
339
|
-
});
|
|
340
|
-
});
|
|
341
|
-
|
|
342
|
-
describe('view action', () => {
|
|
343
|
-
exampleDate = new Date('2024-09-25T04:07');
|
|
344
|
-
exampleDateInUTC = new Date(exampleDate.toUTCString());
|
|
345
|
-
const exampleAction = {
|
|
346
|
-
actionType: 'VIEW',
|
|
347
|
-
document: {
|
|
348
|
-
title: expectedTitle,
|
|
349
|
-
contentIdValue: expectedUrl,
|
|
350
|
-
},
|
|
351
|
-
searchHub: expectedSearchHub,
|
|
352
|
-
timestamp: exampleDateInUTC,
|
|
353
|
-
};
|
|
354
|
-
|
|
355
|
-
it('should properly display the action icon', async () => {
|
|
356
|
-
const element = createTestComponent({action: exampleAction});
|
|
357
|
-
await flushPromises();
|
|
358
|
-
|
|
359
|
-
const icon = element.shadowRoot.querySelector(selectors.icon);
|
|
360
|
-
|
|
361
|
-
const {iconName, iconClass} = expectations.viewAction;
|
|
362
|
-
|
|
363
|
-
expect(icon).not.toBeNull();
|
|
364
|
-
expect(icon.iconName).toBe(iconName);
|
|
365
|
-
expect(icon.classList.contains(iconClass)).toBe(true);
|
|
366
|
-
});
|
|
367
|
-
|
|
368
|
-
describe('when the contentIdKey of the action is clickable', () => {
|
|
369
|
-
it('should display the action title as a link', async () => {
|
|
370
|
-
const element = createTestComponent({
|
|
371
|
-
action: {
|
|
372
|
-
...exampleAction,
|
|
373
|
-
document: {
|
|
374
|
-
...exampleAction.document,
|
|
375
|
-
contentIdKey: '@clickableuri',
|
|
376
|
-
},
|
|
377
|
-
},
|
|
378
|
-
});
|
|
379
|
-
await flushPromises();
|
|
380
|
-
|
|
381
|
-
const link = element.shadowRoot.querySelector(selectors.link);
|
|
382
|
-
|
|
383
|
-
expect(link).not.toBeNull();
|
|
384
|
-
expect(link.textContent).toBe(expectedTitle);
|
|
385
|
-
expect(link.href).toBe(expectedUrl);
|
|
386
|
-
});
|
|
387
|
-
});
|
|
388
|
-
|
|
389
|
-
describe('when the contentIdKey of the action is not clickable', () => {
|
|
390
|
-
it('should display the action title as a text', async () => {
|
|
391
|
-
const element = createTestComponent({
|
|
392
|
-
action: {
|
|
393
|
-
...exampleAction,
|
|
394
|
-
document: {
|
|
395
|
-
...exampleAction.document,
|
|
396
|
-
contentIdKey: '@sfid',
|
|
397
|
-
},
|
|
398
|
-
},
|
|
399
|
-
});
|
|
400
|
-
await flushPromises();
|
|
401
|
-
|
|
402
|
-
const title = element.shadowRoot.querySelector(selectors.title);
|
|
403
|
-
const link = element.shadowRoot.querySelector(selectors.link);
|
|
404
|
-
const {titleClass} = expectations.viewAction;
|
|
405
|
-
|
|
406
|
-
expect(link).toBeNull();
|
|
407
|
-
expect(title).not.toBeNull();
|
|
408
|
-
expect(title.textContent).toBe(expectedTitle);
|
|
409
|
-
expect(title.classList.contains(titleClass)).toBe(true);
|
|
410
|
-
});
|
|
411
|
-
});
|
|
412
|
-
|
|
413
|
-
it('should properly display the action details', async () => {
|
|
414
|
-
const element = createTestComponent({action: exampleAction});
|
|
415
|
-
await flushPromises();
|
|
416
|
-
|
|
417
|
-
const timestamp = element.shadowRoot.querySelector(selectors.timestamp);
|
|
418
|
-
const searchHub = element.shadowRoot.querySelector(selectors.searchHub);
|
|
419
|
-
|
|
420
|
-
expect(timestamp).not.toBeNull();
|
|
421
|
-
expect(searchHub).not.toBeNull();
|
|
422
|
-
|
|
423
|
-
expect(searchHub.textContent).toBe(expectedSearchHub);
|
|
424
|
-
expect(timestamp.textContent).toBe('04:07');
|
|
425
|
-
});
|
|
426
|
-
});
|
|
427
|
-
});
|
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
import quanticUserActionsSession from 'c/quanticUserActionsSession';
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
import {createElement} from 'lwc';
|
|
5
|
-
|
|
6
|
-
const selectors = {
|
|
7
|
-
sessionDateIcon: '[data-test="session-start__date-icon"]',
|
|
8
|
-
sessionDate: '[data-test="session-start__date"]',
|
|
9
|
-
showMoreActions: '[data-test="session__show-more-actions-button"]',
|
|
10
|
-
userActions: '[data-test="session__user-actions"] c-quantic-user-action',
|
|
11
|
-
userActionsAferTicketCreation:
|
|
12
|
-
'[data-test="session__user-actions-after-ticket-creation"] c-quantic-user-action',
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
function createTestComponent(options) {
|
|
16
|
-
const element = createElement('c-quantic-user-actions-session', {
|
|
17
|
-
is: quanticUserActionsSession,
|
|
18
|
-
});
|
|
19
|
-
for (const [key, value] of Object.entries(options)) {
|
|
20
|
-
element[key] = value;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
document.body.appendChild(element);
|
|
24
|
-
return element;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Helper function to wait until the microtask queue is empty.
|
|
28
|
-
function flushPromises() {
|
|
29
|
-
// eslint-disable-next-line @lwc/lwc/no-async-operation
|
|
30
|
-
return new Promise((resolve) => setTimeout(resolve, 0));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
describe('c-quantic-user-actions-session', () => {
|
|
34
|
-
function cleanup() {
|
|
35
|
-
// The jsdom instance is shared across test cases in a single file so reset the DOM
|
|
36
|
-
while (document.body.firstChild) {
|
|
37
|
-
document.body.removeChild(document.body.firstChild);
|
|
38
|
-
}
|
|
39
|
-
jest.clearAllMocks();
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
afterEach(() => {
|
|
43
|
-
cleanup();
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
describe('when the user action session does not contain a ticket creation action', () => {
|
|
47
|
-
const exampleActions = [
|
|
48
|
-
{
|
|
49
|
-
actionType: 'SEARCH',
|
|
50
|
-
timestamp: new Date('2024-09-25T05:08Z').getTime(),
|
|
51
|
-
query: 'example query',
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
actionType: 'SEARCH',
|
|
55
|
-
timestamp: new Date('2024-09-25T05:07Z').getTime(),
|
|
56
|
-
query: 'example query',
|
|
57
|
-
},
|
|
58
|
-
];
|
|
59
|
-
|
|
60
|
-
describe('the session start date', () => {
|
|
61
|
-
it('should display the session start date without the icon', async () => {
|
|
62
|
-
const element = createTestComponent({
|
|
63
|
-
userActions: exampleActions,
|
|
64
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
65
|
-
});
|
|
66
|
-
await flushPromises();
|
|
67
|
-
|
|
68
|
-
const sessionDateIcon = element.shadowRoot.querySelector(
|
|
69
|
-
selectors.sessionDateIcon
|
|
70
|
-
);
|
|
71
|
-
const sessionDate = element.shadowRoot.querySelector(
|
|
72
|
-
selectors.sessionDate
|
|
73
|
-
);
|
|
74
|
-
|
|
75
|
-
expect(sessionDateIcon).toBeNull();
|
|
76
|
-
expect(sessionDate).not.toBeNull();
|
|
77
|
-
|
|
78
|
-
expect(sessionDate.textContent).toBe('Wed. September 25, 2024');
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
describe('the show more actions button', () => {
|
|
83
|
-
it('should not show the show more actions button', async () => {
|
|
84
|
-
const element = createTestComponent({
|
|
85
|
-
userActions: exampleActions,
|
|
86
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
87
|
-
});
|
|
88
|
-
await flushPromises();
|
|
89
|
-
|
|
90
|
-
const showMoreActions = element.shadowRoot.querySelector(
|
|
91
|
-
selectors.showMoreActions
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
expect(showMoreActions).toBeNull();
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
describe('the session user actions', () => {
|
|
99
|
-
it('should properly display the user actions', async () => {
|
|
100
|
-
const element = createTestComponent({
|
|
101
|
-
userActions: exampleActions,
|
|
102
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
103
|
-
});
|
|
104
|
-
await flushPromises();
|
|
105
|
-
|
|
106
|
-
const userActions = element.shadowRoot.querySelectorAll(
|
|
107
|
-
selectors.userActions
|
|
108
|
-
);
|
|
109
|
-
|
|
110
|
-
expect(userActions.length).toBe(exampleActions.length);
|
|
111
|
-
for (let index = 0; index < exampleActions.length; index++) {
|
|
112
|
-
expect(userActions[index].action).toEqual(exampleActions[index]);
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
describe('when the user action session contains a ticket creation action', () => {
|
|
119
|
-
const exampleActions = [
|
|
120
|
-
{
|
|
121
|
-
actionType: 'SEARCH',
|
|
122
|
-
timestamp: new Date('2024-09-25T05:09Z').getTime(),
|
|
123
|
-
query: 'example query',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
actionType: 'TICKET_CREATION',
|
|
127
|
-
timestamp: new Date('2024-09-25T05:08Z').getTime(),
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
actionType: 'SEARCH',
|
|
131
|
-
timestamp: new Date('2024-09-25T05:07Z').getTime(),
|
|
132
|
-
query: 'example query',
|
|
133
|
-
},
|
|
134
|
-
];
|
|
135
|
-
const numberOfActionsAfterTicketCreation = 1;
|
|
136
|
-
|
|
137
|
-
describe('the session start date', () => {
|
|
138
|
-
it('should display the session start date with the icon', async () => {
|
|
139
|
-
const element = createTestComponent({
|
|
140
|
-
userActions: exampleActions,
|
|
141
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
142
|
-
});
|
|
143
|
-
await flushPromises();
|
|
144
|
-
|
|
145
|
-
const sessionDateIcon = element.shadowRoot.querySelector(
|
|
146
|
-
selectors.sessionDateIcon
|
|
147
|
-
);
|
|
148
|
-
const sessionDate = element.shadowRoot.querySelector(
|
|
149
|
-
selectors.sessionDate
|
|
150
|
-
);
|
|
151
|
-
|
|
152
|
-
expect(sessionDateIcon).not.toBeNull();
|
|
153
|
-
expect(sessionDate).not.toBeNull();
|
|
154
|
-
|
|
155
|
-
expect(sessionDate.textContent).toBe('Wed. September 25, 2024');
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
describe('the session user actions', () => {
|
|
160
|
-
it('should display the user actions that occurred before the ticket creation', async () => {
|
|
161
|
-
const element = createTestComponent({
|
|
162
|
-
userActions: exampleActions,
|
|
163
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
164
|
-
});
|
|
165
|
-
await flushPromises();
|
|
166
|
-
|
|
167
|
-
const userActions = element.shadowRoot.querySelectorAll(
|
|
168
|
-
selectors.userActions
|
|
169
|
-
);
|
|
170
|
-
|
|
171
|
-
expect(userActions.length).toBe(
|
|
172
|
-
exampleActions.length - numberOfActionsAfterTicketCreation
|
|
173
|
-
);
|
|
174
|
-
for (
|
|
175
|
-
let index = numberOfActionsAfterTicketCreation;
|
|
176
|
-
index < exampleActions.length;
|
|
177
|
-
index++
|
|
178
|
-
) {
|
|
179
|
-
expect(userActions[index - 1].action).toEqual(exampleActions[index]);
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
it('should not display the user actions that occurred after the ticket creation', async () => {
|
|
184
|
-
const element = createTestComponent({
|
|
185
|
-
userActions: exampleActions,
|
|
186
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
187
|
-
});
|
|
188
|
-
await flushPromises();
|
|
189
|
-
|
|
190
|
-
const userActions = element.shadowRoot.querySelectorAll(
|
|
191
|
-
selectors.userActionsAferTicketCreation
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
expect(userActions.length).toBe(0);
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
describe('after clicking the show more actions button', () => {
|
|
198
|
-
it('should display the user actions that occurred after the ticket creation', async () => {
|
|
199
|
-
const element = createTestComponent({
|
|
200
|
-
userActions: exampleActions,
|
|
201
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
202
|
-
});
|
|
203
|
-
await flushPromises();
|
|
204
|
-
|
|
205
|
-
const showMoreActions = element.shadowRoot.querySelector(
|
|
206
|
-
selectors.showMoreActions
|
|
207
|
-
);
|
|
208
|
-
|
|
209
|
-
showMoreActions.click();
|
|
210
|
-
await flushPromises();
|
|
211
|
-
|
|
212
|
-
const userActionsAferTicketCreation =
|
|
213
|
-
element.shadowRoot.querySelectorAll(
|
|
214
|
-
selectors.userActionsAferTicketCreation
|
|
215
|
-
);
|
|
216
|
-
|
|
217
|
-
expect(userActionsAferTicketCreation.length).toBe(
|
|
218
|
-
numberOfActionsAfterTicketCreation
|
|
219
|
-
);
|
|
220
|
-
for (
|
|
221
|
-
let index = 0;
|
|
222
|
-
index < numberOfActionsAfterTicketCreation;
|
|
223
|
-
index++
|
|
224
|
-
) {
|
|
225
|
-
expect(userActionsAferTicketCreation[index].action).toEqual(
|
|
226
|
-
exampleActions[index]
|
|
227
|
-
);
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
|
|
233
|
-
describe('the show more actions button', () => {
|
|
234
|
-
it('should display the show more actions button', async () => {
|
|
235
|
-
const element = createTestComponent({
|
|
236
|
-
userActions: exampleActions,
|
|
237
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
238
|
-
});
|
|
239
|
-
await flushPromises();
|
|
240
|
-
|
|
241
|
-
const showMoreActions = element.shadowRoot.querySelector(
|
|
242
|
-
selectors.showMoreActions
|
|
243
|
-
);
|
|
244
|
-
|
|
245
|
-
expect(showMoreActions).not.toBeNull();
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
it('should hide the show more actions button after clicking on it', async () => {
|
|
249
|
-
const element = createTestComponent({
|
|
250
|
-
userActions: exampleActions,
|
|
251
|
-
startTimestamp: new Date('2024-09-25T05:07Z'),
|
|
252
|
-
});
|
|
253
|
-
await flushPromises();
|
|
254
|
-
|
|
255
|
-
let showMoreActions = element.shadowRoot.querySelector(
|
|
256
|
-
selectors.showMoreActions
|
|
257
|
-
);
|
|
258
|
-
|
|
259
|
-
showMoreActions.click();
|
|
260
|
-
await flushPromises();
|
|
261
|
-
|
|
262
|
-
showMoreActions = element.shadowRoot.querySelector(
|
|
263
|
-
selectors.showMoreActions
|
|
264
|
-
);
|
|
265
|
-
expect(showMoreActions).toBeNull();
|
|
266
|
-
});
|
|
267
|
-
});
|
|
268
|
-
});
|
|
269
|
-
});
|