@patternfly/chatbot 6.8.0-prerelease.8 → 6.8.0-prerelease.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/CodeModal/CodeModal.js +5 -0
- package/dist/cjs/MarkdownContent/MarkdownContent.d.ts +26 -7
- package/dist/cjs/MarkdownContent/MarkdownContent.js +79 -166
- package/dist/cjs/MarkdownContent/MarkdownRenderer.d.ts +6 -0
- package/dist/cjs/MarkdownContent/MarkdownRenderer.js +187 -0
- package/dist/cjs/Message/Message.d.ts +3 -4
- package/dist/cjs/Message/Message.js +0 -2
- package/dist/cjs/MessageBox/MessageBox.js +5 -1
- package/dist/cjs/index.d.ts +0 -8
- package/dist/cjs/index.js +1 -13
- package/dist/css/main.css +18 -3
- package/dist/css/main.css.map +1 -1
- package/dist/esm/CodeModal/CodeModal.js +5 -0
- package/dist/esm/MarkdownContent/MarkdownContent.d.ts +26 -7
- package/dist/esm/MarkdownContent/MarkdownContent.js +52 -165
- package/dist/esm/MarkdownContent/MarkdownRenderer.d.ts +6 -0
- package/dist/esm/MarkdownContent/MarkdownRenderer.js +182 -0
- package/dist/esm/Message/Message.d.ts +3 -4
- package/dist/esm/Message/Message.js +0 -2
- package/dist/esm/MessageBox/MessageBox.js +5 -1
- package/dist/esm/index.d.ts +0 -8
- package/dist/esm/index.js +0 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/generate-index.js +41 -16
- package/generate-index.test.js +68 -0
- package/monaco-environment.js +45 -0
- package/package.json +20 -2
- package/patternfly-docs/content/extensions/chatbot/chatbot.md +1 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/monitor-sampleapp-quickstart.ts +1 -0
- package/patternfly-docs/content/extensions/chatbot/tree-shaking.md +124 -0
- package/patternfly-docs/monaco-environment.js +45 -0
- package/patternfly-docs/patternfly-docs.css.js +6 -0
- package/src/Chatbot/Chatbot.scss +4 -0
- package/src/ChatbotContent/ChatbotContent.scss +1 -1
- package/src/ChatbotFooter/ChatbotFooter.scss +2 -2
- package/src/ChatbotHeader/ChatbotHeader.scss +4 -0
- package/src/ChatbotModal/ChatbotModal.scss +10 -0
- package/src/CodeModal/CodeModal.tsx +6 -0
- package/src/DeepThinking/DeepThinking.test.tsx +10 -12
- package/src/MarkdownContent/MarkdownContent.test.tsx +52 -5
- package/src/MarkdownContent/MarkdownContent.tsx +77 -220
- package/src/MarkdownContent/MarkdownRenderer.tsx +235 -0
- package/src/Message/Message.test.tsx +5 -0
- package/src/Message/Message.tsx +3 -5
- package/src/MessageBox/MessageBox.tsx +13 -1
- package/src/ResponseActions/ResponseActions.test.tsx +42 -48
- package/src/ToolCall/ToolCall.test.tsx +6 -9
- package/src/ToolResponse/ToolResponse.test.tsx +16 -22
- package/src/index.ts +0 -12
- package/src/test-utils/markdownTestUtils.ts +21 -0
- package/tsconfig.json +6 -1
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +0 -77
- package/dist/cjs/Chatbot/Chatbot.test.d.ts +0 -1
- package/dist/cjs/Chatbot/Chatbot.test.js +0 -32
- package/dist/cjs/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
- package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +0 -27
- package/dist/cjs/ChatbotContent/ChatbotContent.test.d.ts +0 -1
- package/dist/cjs/ChatbotContent/ChatbotContent.test.js +0 -22
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -75
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -601
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +0 -27
- package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
- package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +0 -87
- package/dist/cjs/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +0 -18
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +0 -18
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -22
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +0 -18
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -22
- package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -22
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -46
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -44
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -55
- package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +0 -1
- package/dist/cjs/ChatbotModal/ChatbotModal.test.js +0 -16
- package/dist/cjs/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
- package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +0 -64
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -61
- package/dist/cjs/CodeModal/CodeModal.test.d.ts +0 -1
- package/dist/cjs/CodeModal/CodeModal.test.js +0 -34
- package/dist/cjs/Compare/Compare.test.d.ts +0 -1
- package/dist/cjs/Compare/Compare.test.js +0 -18
- package/dist/cjs/DeepThinking/DeepThinking.test.d.ts +0 -1
- package/dist/cjs/DeepThinking/DeepThinking.test.js +0 -146
- package/dist/cjs/FileDetails/FileDetails.test.d.ts +0 -1
- package/dist/cjs/FileDetails/FileDetails.test.js +0 -42
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +0 -79
- package/dist/cjs/FileDropZone/FileDropZone.test.d.ts +0 -1
- package/dist/cjs/FileDropZone/FileDropZone.test.js +0 -100
- package/dist/cjs/FilePreview/FilePreview.test.d.ts +0 -1
- package/dist/cjs/FilePreview/FilePreview.test.js +0 -97
- package/dist/cjs/ImagePreview/ImagePreview.test.d.ts +0 -1
- package/dist/cjs/ImagePreview/ImagePreview.test.js +0 -225
- package/dist/cjs/MarkdownContent/MarkdownContent.test.d.ts +0 -1
- package/dist/cjs/MarkdownContent/MarkdownContent.test.js +0 -192
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -131
- package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
- package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.js +0 -30
- package/dist/cjs/Message/Message.test.d.ts +0 -1
- package/dist/cjs/Message/Message.test.js +0 -1128
- package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
- package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.js +0 -25
- package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
- package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -25
- package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
- package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -25
- package/dist/cjs/Message/MessageLoading.test.d.ts +0 -1
- package/dist/cjs/Message/MessageLoading.test.js +0 -25
- package/dist/cjs/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
- package/dist/cjs/Message/QuickResponse/QuickResponse.test.js +0 -109
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +0 -76
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +0 -181
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +0 -243
- package/dist/cjs/MessageBar/AttachButton.test.d.ts +0 -1
- package/dist/cjs/MessageBar/AttachButton.test.js +0 -152
- package/dist/cjs/MessageBar/MessageBar.test.d.ts +0 -1
- package/dist/cjs/MessageBar/MessageBar.test.js +0 -338
- package/dist/cjs/MessageBar/SendButton.test.d.ts +0 -1
- package/dist/cjs/MessageBar/SendButton.test.js +0 -58
- package/dist/cjs/MessageBar/StopButton.test.d.ts +0 -1
- package/dist/cjs/MessageBar/StopButton.test.js +0 -58
- package/dist/cjs/MessageBox/JumpButton.test.d.ts +0 -1
- package/dist/cjs/MessageBox/JumpButton.test.js +0 -39
- package/dist/cjs/MessageBox/MessageBox.test.d.ts +0 -1
- package/dist/cjs/MessageBox/MessageBox.test.js +0 -294
- package/dist/cjs/MessageDivider/MessageDivider.test.d.ts +0 -1
- package/dist/cjs/MessageDivider/MessageDivider.test.js +0 -29
- package/dist/cjs/Onboarding/Onboarding.test.d.ts +0 -1
- package/dist/cjs/Onboarding/Onboarding.test.js +0 -80
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +0 -50
- package/dist/cjs/ResponseActions/ResponseActionButton.test.d.ts +0 -1
- package/dist/cjs/ResponseActions/ResponseActionButton.test.js +0 -54
- package/dist/cjs/ResponseActions/ResponseActions.test.d.ts +0 -1
- package/dist/cjs/ResponseActions/ResponseActions.test.js +0 -455
- package/dist/cjs/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
- package/dist/cjs/ResponseActions/ResponseActionsGroups.test.js +0 -25
- package/dist/cjs/Settings/SettingsForm.test.d.ts +0 -1
- package/dist/cjs/Settings/SettingsForm.test.js +0 -35
- package/dist/cjs/SourcesCard/SourcesCard.test.d.ts +0 -1
- package/dist/cjs/SourcesCard/SourcesCard.test.js +0 -39
- package/dist/cjs/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
- package/dist/cjs/SourcesCardBase/SourcesCardBase.test.js +0 -199
- package/dist/cjs/TermsOfUse/TermsOfUse.test.d.ts +0 -1
- package/dist/cjs/TermsOfUse/TermsOfUse.test.js +0 -77
- package/dist/cjs/ToolCall/ToolCall.test.d.ts +0 -1
- package/dist/cjs/ToolCall/ToolCall.test.js +0 -201
- package/dist/cjs/ToolResponse/ToolResponse.test.d.ts +0 -1
- package/dist/cjs/ToolResponse/ToolResponse.test.js +0 -184
- package/dist/cjs/__mocks__/monaco-editor.d.ts +0 -11
- package/dist/cjs/__mocks__/monaco-editor.js +0 -18
- package/dist/cjs/__mocks__/rehype-external-links.d.ts +0 -2
- package/dist/cjs/__mocks__/rehype-external-links.js +0 -4
- package/dist/cjs/__mocks__/rehype-highlight.d.ts +0 -2
- package/dist/cjs/__mocks__/rehype-highlight.js +0 -4
- package/dist/cjs/__mocks__/rehype-sanitize.d.ts +0 -2
- package/dist/cjs/__mocks__/rehype-sanitize.js +0 -4
- package/dist/cjs/__mocks__/rehype-unwrap-images.d.ts +0 -2
- package/dist/cjs/__mocks__/rehype-unwrap-images.js +0 -4
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +0 -72
- package/dist/esm/Chatbot/Chatbot.test.d.ts +0 -1
- package/dist/esm/Chatbot/Chatbot.test.js +0 -27
- package/dist/esm/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
- package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +0 -22
- package/dist/esm/ChatbotContent/ChatbotContent.test.d.ts +0 -1
- package/dist/esm/ChatbotContent/ChatbotContent.test.js +0 -17
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -70
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -596
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +0 -22
- package/dist/esm/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
- package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +0 -82
- package/dist/esm/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +0 -13
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +0 -13
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -20
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +0 -13
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -20
- package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -20
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -44
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -42
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -50
- package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +0 -1
- package/dist/esm/ChatbotModal/ChatbotModal.test.js +0 -11
- package/dist/esm/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
- package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +0 -59
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -56
- package/dist/esm/CodeModal/CodeModal.test.d.ts +0 -1
- package/dist/esm/CodeModal/CodeModal.test.js +0 -29
- package/dist/esm/Compare/Compare.test.d.ts +0 -1
- package/dist/esm/Compare/Compare.test.js +0 -13
- package/dist/esm/DeepThinking/DeepThinking.test.d.ts +0 -1
- package/dist/esm/DeepThinking/DeepThinking.test.js +0 -141
- package/dist/esm/FileDetails/FileDetails.test.d.ts +0 -1
- package/dist/esm/FileDetails/FileDetails.test.js +0 -37
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +0 -74
- package/dist/esm/FileDropZone/FileDropZone.test.d.ts +0 -1
- package/dist/esm/FileDropZone/FileDropZone.test.js +0 -95
- package/dist/esm/FilePreview/FilePreview.test.d.ts +0 -1
- package/dist/esm/FilePreview/FilePreview.test.js +0 -92
- package/dist/esm/ImagePreview/ImagePreview.test.d.ts +0 -1
- package/dist/esm/ImagePreview/ImagePreview.test.js +0 -220
- package/dist/esm/MarkdownContent/MarkdownContent.test.d.ts +0 -1
- package/dist/esm/MarkdownContent/MarkdownContent.test.js +0 -187
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -126
- package/dist/esm/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
- package/dist/esm/Message/ErrorMessage/ErrorMessage.test.js +0 -25
- package/dist/esm/Message/Message.test.d.ts +0 -1
- package/dist/esm/Message/Message.test.js +0 -1123
- package/dist/esm/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
- package/dist/esm/Message/MessageAndActions/MessageAndActions.test.js +0 -20
- package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
- package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -20
- package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
- package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -20
- package/dist/esm/Message/MessageLoading.test.d.ts +0 -1
- package/dist/esm/Message/MessageLoading.test.js +0 -20
- package/dist/esm/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
- package/dist/esm/Message/QuickResponse/QuickResponse.test.js +0 -104
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +0 -48
- package/dist/esm/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +0 -176
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +0 -238
- package/dist/esm/MessageBar/AttachButton.test.d.ts +0 -1
- package/dist/esm/MessageBar/AttachButton.test.js +0 -147
- package/dist/esm/MessageBar/MessageBar.test.d.ts +0 -1
- package/dist/esm/MessageBar/MessageBar.test.js +0 -333
- package/dist/esm/MessageBar/SendButton.test.d.ts +0 -1
- package/dist/esm/MessageBar/SendButton.test.js +0 -53
- package/dist/esm/MessageBar/StopButton.test.d.ts +0 -1
- package/dist/esm/MessageBar/StopButton.test.js +0 -53
- package/dist/esm/MessageBox/JumpButton.test.d.ts +0 -1
- package/dist/esm/MessageBox/JumpButton.test.js +0 -34
- package/dist/esm/MessageBox/MessageBox.test.d.ts +0 -1
- package/dist/esm/MessageBox/MessageBox.test.js +0 -289
- package/dist/esm/MessageDivider/MessageDivider.test.d.ts +0 -1
- package/dist/esm/MessageDivider/MessageDivider.test.js +0 -24
- package/dist/esm/Onboarding/Onboarding.test.d.ts +0 -1
- package/dist/esm/Onboarding/Onboarding.test.js +0 -75
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +0 -48
- package/dist/esm/ResponseActions/ResponseActionButton.test.d.ts +0 -1
- package/dist/esm/ResponseActions/ResponseActionButton.test.js +0 -49
- package/dist/esm/ResponseActions/ResponseActions.test.d.ts +0 -1
- package/dist/esm/ResponseActions/ResponseActions.test.js +0 -450
- package/dist/esm/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
- package/dist/esm/ResponseActions/ResponseActionsGroups.test.js +0 -20
- package/dist/esm/Settings/SettingsForm.test.d.ts +0 -1
- package/dist/esm/Settings/SettingsForm.test.js +0 -33
- package/dist/esm/SourcesCard/SourcesCard.test.d.ts +0 -1
- package/dist/esm/SourcesCard/SourcesCard.test.js +0 -34
- package/dist/esm/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
- package/dist/esm/SourcesCardBase/SourcesCardBase.test.js +0 -194
- package/dist/esm/TermsOfUse/TermsOfUse.test.d.ts +0 -1
- package/dist/esm/TermsOfUse/TermsOfUse.test.js +0 -72
- package/dist/esm/ToolCall/ToolCall.test.d.ts +0 -1
- package/dist/esm/ToolCall/ToolCall.test.js +0 -196
- package/dist/esm/ToolResponse/ToolResponse.test.d.ts +0 -1
- package/dist/esm/ToolResponse/ToolResponse.test.js +0 -179
- package/dist/esm/__mocks__/monaco-editor.d.ts +0 -11
- package/dist/esm/__mocks__/monaco-editor.js +0 -18
- package/dist/esm/__mocks__/rehype-external-links.d.ts +0 -2
- package/dist/esm/__mocks__/rehype-external-links.js +0 -2
- package/dist/esm/__mocks__/rehype-highlight.d.ts +0 -2
- package/dist/esm/__mocks__/rehype-highlight.js +0 -2
- package/dist/esm/__mocks__/rehype-sanitize.d.ts +0 -2
- package/dist/esm/__mocks__/rehype-sanitize.js +0 -2
- package/dist/esm/__mocks__/rehype-unwrap-images.d.ts +0 -2
- package/dist/esm/__mocks__/rehype-unwrap-images.js +0 -2
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
|
-
const react_1 = require("@testing-library/react");
|
|
17
|
-
const user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
18
|
-
require("@testing-library/jest-dom");
|
|
19
|
-
const ToolResponse_1 = __importDefault(require("./ToolResponse"));
|
|
20
|
-
describe('ToolResponse', () => {
|
|
21
|
-
const defaultProps = {
|
|
22
|
-
toggleContent: 'Tool response: toolName',
|
|
23
|
-
cardTitle: 'Title',
|
|
24
|
-
cardBody: 'Body'
|
|
25
|
-
};
|
|
26
|
-
it('should render with required props only', () => {
|
|
27
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps)));
|
|
28
|
-
expect(react_1.screen.getByText('Title')).toBeTruthy();
|
|
29
|
-
expect(react_1.screen.getByText('Body')).toBeTruthy();
|
|
30
|
-
expect(react_1.screen.getByText('Tool response: toolName')).toBeTruthy();
|
|
31
|
-
});
|
|
32
|
-
it('should render subheading when provided', () => {
|
|
33
|
-
const subheading = 'Tool execution result';
|
|
34
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { subheading: subheading })));
|
|
35
|
-
expect(react_1.screen.getByText(subheading)).toBeTruthy();
|
|
36
|
-
});
|
|
37
|
-
it('should render body content when provided', () => {
|
|
38
|
-
const body = 'This is the tool response body content';
|
|
39
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { body: body })));
|
|
40
|
-
expect(react_1.screen.getByText(body)).toBeTruthy();
|
|
41
|
-
});
|
|
42
|
-
it('should render with complex content including React elements', () => {
|
|
43
|
-
const body = ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { children: "Complex body content" }), (0, jsx_runtime_1.jsxs)("ul", { children: [(0, jsx_runtime_1.jsx)("li", { children: "Item 1" }), (0, jsx_runtime_1.jsx)("li", { children: "Item 2" })] })] }));
|
|
44
|
-
const cardTitle = (0, jsx_runtime_1.jsx)("strong", { children: "API Response" });
|
|
45
|
-
const cardBody = ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("code", { children: "{ status: 'success' }" }) }));
|
|
46
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { body: body, cardTitle: cardTitle, cardBody: cardBody })));
|
|
47
|
-
expect(react_1.screen.getByText('Complex body content')).toBeTruthy();
|
|
48
|
-
expect(react_1.screen.getByText('Item 1')).toBeTruthy();
|
|
49
|
-
expect(react_1.screen.getByText('Item 2')).toBeTruthy();
|
|
50
|
-
expect(react_1.screen.getByText('API Response')).toBeTruthy();
|
|
51
|
-
expect(react_1.screen.getByText("{ status: 'success' }")).toBeTruthy();
|
|
52
|
-
});
|
|
53
|
-
it('should apply custom className from cardProps', () => {
|
|
54
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardProps: { className: 'custom-tool-response-class' } })));
|
|
55
|
-
expect(container.querySelector('.custom-tool-response-class')).toBeTruthy();
|
|
56
|
-
});
|
|
57
|
-
it('should pass through expandableSectionProps', () => {
|
|
58
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { expandableSectionProps: { className: 'custom-expandable-class' } })));
|
|
59
|
-
expect(document.querySelector('.custom-expandable-class')).toBeTruthy();
|
|
60
|
-
});
|
|
61
|
-
it('should pass through toolResponseCardProps', () => {
|
|
62
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { toolResponseCardProps: { className: 'custom-card-class' } })));
|
|
63
|
-
expect(document.querySelector('.custom-card-class')).toBeTruthy();
|
|
64
|
-
});
|
|
65
|
-
it('should not render subheading span when subheading is not provided', () => {
|
|
66
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps)));
|
|
67
|
-
const subheadingContainer = container.querySelector('.pf-chatbot__tool-response-subheading');
|
|
68
|
-
expect(subheadingContainer).toBeFalsy();
|
|
69
|
-
});
|
|
70
|
-
it('should not render card when cardTitle and cardBody are not provided', () => {
|
|
71
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardTitle: undefined, cardBody: undefined })));
|
|
72
|
-
expect(container.querySelector('.pf-chatbot__tool-response-card')).toBeFalsy();
|
|
73
|
-
});
|
|
74
|
-
it('should render card when only cardTitle is provided', () => {
|
|
75
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardBody: undefined })));
|
|
76
|
-
expect(container.querySelector('.pf-chatbot__tool-response-card')).toBeTruthy();
|
|
77
|
-
});
|
|
78
|
-
it('should render card when only cardBody is provided', () => {
|
|
79
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardTitle: undefined })));
|
|
80
|
-
expect(container.querySelector('.pf-chatbot__tool-response-card')).toBeTruthy();
|
|
81
|
-
});
|
|
82
|
-
it('should render divider when cardBody and cardTitle are provided', () => {
|
|
83
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps)));
|
|
84
|
-
expect(container.querySelector('.pf-v6-c-divider')).toBeTruthy();
|
|
85
|
-
});
|
|
86
|
-
it('should not render divider when only cardBody is provided', () => {
|
|
87
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardTitle: undefined })));
|
|
88
|
-
expect(container.querySelector('.pf-v6-c-divider')).toBeFalsy();
|
|
89
|
-
});
|
|
90
|
-
it('should not render divider when only cardTitle is provided', () => {
|
|
91
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardBody: undefined })));
|
|
92
|
-
expect(container.querySelector('.pf-v6-c-divider')).toBeFalsy();
|
|
93
|
-
});
|
|
94
|
-
it('Renders expanded by default', () => {
|
|
95
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps)));
|
|
96
|
-
expect(react_1.screen.getByRole('button', { name: defaultProps.toggleContent })).toHaveAttribute('aria-expanded', 'true');
|
|
97
|
-
expect(react_1.screen.getByText(defaultProps.cardTitle)).toBeVisible();
|
|
98
|
-
expect(react_1.screen.getByText(defaultProps.cardBody)).toBeVisible();
|
|
99
|
-
});
|
|
100
|
-
it('Renders collapsed when isDefaultExpanded is false', () => {
|
|
101
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({ isDefaultExpanded: false }, defaultProps)));
|
|
102
|
-
expect(react_1.screen.getByRole('button', { name: defaultProps.toggleContent })).toHaveAttribute('aria-expanded', 'false');
|
|
103
|
-
expect(react_1.screen.getByText(defaultProps.cardTitle)).not.toBeVisible();
|
|
104
|
-
expect(react_1.screen.getByText(defaultProps.cardBody)).not.toBeVisible();
|
|
105
|
-
});
|
|
106
|
-
it('expandableSectionProps.isExpanded overrides isDefaultExpanded', () => {
|
|
107
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { isDefaultExpanded: false, expandableSectionProps: { isExpanded: true } })));
|
|
108
|
-
expect(react_1.screen.getByRole('button', { name: defaultProps.toggleContent })).toHaveAttribute('aria-expanded', 'true');
|
|
109
|
-
expect(react_1.screen.getByText(defaultProps.cardTitle)).toBeVisible();
|
|
110
|
-
expect(react_1.screen.getByText(defaultProps.cardBody)).toBeVisible();
|
|
111
|
-
});
|
|
112
|
-
it('expandableSectionProps.onToggle overrides internal onToggle behavior', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
113
|
-
const user = user_event_1.default.setup();
|
|
114
|
-
const customOnToggle = jest.fn();
|
|
115
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { isDefaultExpanded: false, expandableSectionProps: { onToggle: customOnToggle } })));
|
|
116
|
-
const toggleButton = react_1.screen.getByRole('button', { name: defaultProps.toggleContent });
|
|
117
|
-
expect(toggleButton).toHaveAttribute('aria-expanded', 'false');
|
|
118
|
-
yield user.click(toggleButton);
|
|
119
|
-
expect(customOnToggle).toHaveBeenCalledTimes(1);
|
|
120
|
-
expect(toggleButton).toHaveAttribute('aria-expanded', 'false');
|
|
121
|
-
expect(react_1.screen.getByText(defaultProps.cardTitle)).not.toBeVisible();
|
|
122
|
-
expect(react_1.screen.getByText(defaultProps.cardBody)).not.toBeVisible();
|
|
123
|
-
}));
|
|
124
|
-
it('should render toggleContent as markdown when isToggleContentMarkdown is true', () => {
|
|
125
|
-
const toggleContent = '**Bold toggle**';
|
|
126
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { toggleContent: toggleContent, isToggleContentMarkdown: true })));
|
|
127
|
-
expect(container.querySelector('strong')).toBeTruthy();
|
|
128
|
-
expect(react_1.screen.getByText('Bold toggle')).toBeTruthy();
|
|
129
|
-
});
|
|
130
|
-
it('should not render toggleContent as markdown when isToggleContentMarkdown is false', () => {
|
|
131
|
-
const toggleContent = '**Bold toggle**';
|
|
132
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { toggleContent: toggleContent })));
|
|
133
|
-
expect(react_1.screen.getByText('**Bold toggle**')).toBeTruthy();
|
|
134
|
-
});
|
|
135
|
-
it('should render subheading as markdown when isSubheadingMarkdown is true', () => {
|
|
136
|
-
const subheading = '**Bold subheading**';
|
|
137
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { subheading: subheading, isSubheadingMarkdown: true })));
|
|
138
|
-
expect(container.querySelector('strong')).toBeTruthy();
|
|
139
|
-
expect(react_1.screen.getByText('Bold subheading')).toBeTruthy();
|
|
140
|
-
});
|
|
141
|
-
it('should not render subheading as markdown when isSubheadingMarkdown is false', () => {
|
|
142
|
-
const subheading = '**Bold subheading**';
|
|
143
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { subheading: subheading })));
|
|
144
|
-
expect(react_1.screen.getByText('**Bold subheading**')).toBeTruthy();
|
|
145
|
-
});
|
|
146
|
-
it('should render body as markdown when isBodyMarkdown is true', () => {
|
|
147
|
-
const body = '**Bold body**';
|
|
148
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { body: body, isBodyMarkdown: true })));
|
|
149
|
-
expect(container.querySelector('strong')).toBeTruthy();
|
|
150
|
-
expect(react_1.screen.getByText('Bold body')).toBeTruthy();
|
|
151
|
-
});
|
|
152
|
-
it('should not render body as markdown when isBodyMarkdown is false', () => {
|
|
153
|
-
const body = '**Bold body**';
|
|
154
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { body: body })));
|
|
155
|
-
expect(react_1.screen.getByText('**Bold body**')).toBeTruthy();
|
|
156
|
-
});
|
|
157
|
-
it('should render cardTitle as markdown when isCardTitleMarkdown is true', () => {
|
|
158
|
-
const cardTitle = '**Bold card title**';
|
|
159
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardTitle: cardTitle, isCardTitleMarkdown: true })));
|
|
160
|
-
expect(container.querySelector('strong')).toBeTruthy();
|
|
161
|
-
expect(react_1.screen.getByText('Bold card title')).toBeTruthy();
|
|
162
|
-
});
|
|
163
|
-
it('should not render cardTitle as markdown when isCardTitleMarkdown is false', () => {
|
|
164
|
-
const cardTitle = '**Bold card title**';
|
|
165
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardTitle: cardTitle })));
|
|
166
|
-
expect(react_1.screen.getByText('**Bold card title**')).toBeTruthy();
|
|
167
|
-
});
|
|
168
|
-
it('should render cardBody as markdown when isCardBodyMarkdown is true', () => {
|
|
169
|
-
const cardBody = '**Bold card body**';
|
|
170
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardBody: cardBody, isCardBodyMarkdown: true })));
|
|
171
|
-
expect(container.querySelector('strong')).toBeTruthy();
|
|
172
|
-
expect(react_1.screen.getByText('Bold card body')).toBeTruthy();
|
|
173
|
-
});
|
|
174
|
-
it('should not render cardBody as markdown when isCardBodyMarkdown is false', () => {
|
|
175
|
-
const cardBody = '**Bold card body**';
|
|
176
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { cardBody: cardBody })));
|
|
177
|
-
expect(react_1.screen.getByText('**Bold card body**')).toBeTruthy();
|
|
178
|
-
});
|
|
179
|
-
it('should pass markdownContentProps to MarkdownContent component', () => {
|
|
180
|
-
const body = '**Bold body**';
|
|
181
|
-
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(ToolResponse_1.default, Object.assign({}, defaultProps, { body: body, isBodyMarkdown: true, markdownContentProps: { isPrimary: true } })));
|
|
182
|
-
expect(container.querySelector('.pf-m-primary')).toBeTruthy();
|
|
183
|
-
});
|
|
184
|
-
});
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
declare const mockEditor: {
|
|
2
|
-
layout: jest.Mock<any, any, any>;
|
|
3
|
-
focus: jest.Mock<any, any, any>;
|
|
4
|
-
dispose: jest.Mock<any, any, any>;
|
|
5
|
-
getModel: jest.Mock<any, any, any>;
|
|
6
|
-
updateOptions: jest.Mock<any, any, any>;
|
|
7
|
-
};
|
|
8
|
-
declare const mockModel: {
|
|
9
|
-
updateOptions: jest.Mock<any, any, any>;
|
|
10
|
-
dispose: jest.Mock<any, any, any>;
|
|
11
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const mockEditor = {
|
|
3
|
-
layout: jest.fn(),
|
|
4
|
-
focus: jest.fn(),
|
|
5
|
-
dispose: jest.fn(),
|
|
6
|
-
getModel: jest.fn(),
|
|
7
|
-
updateOptions: jest.fn()
|
|
8
|
-
};
|
|
9
|
-
const mockModel = {
|
|
10
|
-
updateOptions: jest.fn(),
|
|
11
|
-
dispose: jest.fn()
|
|
12
|
-
};
|
|
13
|
-
module.exports = {
|
|
14
|
-
editor: {
|
|
15
|
-
create: jest.fn(() => mockEditor),
|
|
16
|
-
getModels: jest.fn(() => [mockModel])
|
|
17
|
-
}
|
|
18
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
import { fireEvent, render, screen, within } from '@testing-library/react';
|
|
12
|
-
import '@testing-library/jest-dom';
|
|
13
|
-
import AttachmentEdit from './AttachmentEdit';
|
|
14
|
-
describe('AttachmentEdit', () => {
|
|
15
|
-
it('should open AttachmentEdit modal', () => {
|
|
16
|
-
const props = {
|
|
17
|
-
code: 'code',
|
|
18
|
-
fileName: 'fileName',
|
|
19
|
-
onCancel: jest.fn(),
|
|
20
|
-
onSave: jest.fn(),
|
|
21
|
-
isModalOpen: true,
|
|
22
|
-
handleModalToggle: jest.fn()
|
|
23
|
-
};
|
|
24
|
-
render(_jsx(AttachmentEdit, Object.assign({}, props)));
|
|
25
|
-
expect(screen.getByText('Edit attachment')).toBeTruthy();
|
|
26
|
-
});
|
|
27
|
-
it('should call onSave handler when the save button is clicked', () => {
|
|
28
|
-
const onSaveHandler = jest.fn();
|
|
29
|
-
const props = {
|
|
30
|
-
code: 'code',
|
|
31
|
-
fileName: 'fileName',
|
|
32
|
-
onCancel: jest.fn(),
|
|
33
|
-
onSave: onSaveHandler,
|
|
34
|
-
isModalOpen: true,
|
|
35
|
-
handleModalToggle: jest.fn()
|
|
36
|
-
};
|
|
37
|
-
render(_jsx(AttachmentEdit, Object.assign({}, props)));
|
|
38
|
-
// Click on save button
|
|
39
|
-
fireEvent.click(screen.getByText('Save'));
|
|
40
|
-
expect(onSaveHandler).toHaveBeenCalledWith(expect.any(Object), 'code');
|
|
41
|
-
});
|
|
42
|
-
it('should call cancel handler when the cancel button is clicked', () => {
|
|
43
|
-
const onCancelHandler = jest.fn();
|
|
44
|
-
const props = {
|
|
45
|
-
code: 'code',
|
|
46
|
-
fileName: 'fileName',
|
|
47
|
-
onCancel: onCancelHandler,
|
|
48
|
-
onSave: jest.fn(),
|
|
49
|
-
isModalOpen: true,
|
|
50
|
-
handleModalToggle: jest.fn()
|
|
51
|
-
};
|
|
52
|
-
render(_jsx(AttachmentEdit, Object.assign({}, props)));
|
|
53
|
-
// Click on cancel button
|
|
54
|
-
fireEvent.click(screen.getByText('Cancel'));
|
|
55
|
-
expect(onCancelHandler).toHaveBeenCalled();
|
|
56
|
-
});
|
|
57
|
-
it('should render custom button text for footer actions buttons', () => {
|
|
58
|
-
render(_jsx(AttachmentEdit, { code: "Hello world", fileName: "greetings.txt", isModalOpen: true, onCancel: jest.fn(), onSave: jest.fn(), handleModalToggle: jest.fn(), primaryActionButtonText: "Save", secondaryActionButtonText: "Close" }));
|
|
59
|
-
expect(screen.getByText('Save')).toBeInTheDocument();
|
|
60
|
-
expect(screen.getByText('Close')).toBeInTheDocument();
|
|
61
|
-
});
|
|
62
|
-
it('should render AttachmentEdit with custom classNames', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
-
render(_jsx(AttachmentEdit, { code: "Hello world", fileName: "greetings.txt", isModalOpen: true, onCancel: jest.fn(), onSave: jest.fn(), handleModalToggle: jest.fn(), primaryActionButtonText: "Save", secondaryActionButtonText: "Close", modalHeaderClassName: "custom-header-class", modalBodyClassName: "custom-body-class", modalFooterClassName: "custom-footer-class" }));
|
|
64
|
-
const modal = screen.getByRole('dialog');
|
|
65
|
-
const modalHeader = within(modal).getByRole('banner');
|
|
66
|
-
expect(modalHeader).toHaveClass('custom-header-class');
|
|
67
|
-
const modalBody = modal.querySelector('#code-modal-body');
|
|
68
|
-
expect(modalBody).toHaveClass('custom-body-class');
|
|
69
|
-
const modalfooter = within(modal).getByRole('contentinfo');
|
|
70
|
-
expect(modalfooter).toHaveClass('custom-footer-class');
|
|
71
|
-
}));
|
|
72
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import { render, screen } from '@testing-library/react';
|
|
4
|
-
import Chatbot from './Chatbot';
|
|
5
|
-
describe('Chatbot', () => {
|
|
6
|
-
it('should render Chatbot with default display mode', () => {
|
|
7
|
-
render(_jsx(Chatbot, { children: "Chatbot Content" }));
|
|
8
|
-
expect(screen.getByText('Chatbot Content')).toBeTruthy();
|
|
9
|
-
});
|
|
10
|
-
it('should render Chatbot with custom ariaLabel', () => {
|
|
11
|
-
render(_jsx(Chatbot, { ariaLabel: "Chatbot", children: "Chatbot Content" }));
|
|
12
|
-
expect(screen.getByLabelText('Chatbot')).toBeTruthy();
|
|
13
|
-
});
|
|
14
|
-
it('should render Chatbot with custom className', () => {
|
|
15
|
-
const { container } = render(_jsx(Chatbot, { ariaLabel: "Chatbot", className: "custom-class", children: "Chatbot Content" }));
|
|
16
|
-
const chatbotElement = container.querySelector('.custom-class');
|
|
17
|
-
expect(chatbotElement).toBeInTheDocument();
|
|
18
|
-
});
|
|
19
|
-
it('should not render Chatbot', () => {
|
|
20
|
-
render(_jsx(Chatbot, { isVisible: false, children: "Chatbot Content" }));
|
|
21
|
-
expect(screen.queryByLabelText('Chatbot')).toBeFalsy();
|
|
22
|
-
});
|
|
23
|
-
it('should handle isCompact', () => {
|
|
24
|
-
render(_jsx(Chatbot, { "data-testid": "chatbot", isVisible: true, isCompact: true, children: "Chatbot Content" }));
|
|
25
|
-
expect(screen.getByTestId('chatbot')).toHaveClass('pf-m-compact');
|
|
26
|
-
});
|
|
27
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { fireEvent, render, screen } from '@testing-library/react';
|
|
3
|
-
import ChatbotAlert from './ChatbotAlert';
|
|
4
|
-
describe('ChatbotAlert', () => {
|
|
5
|
-
it('should render ChatbotAlert with default variant', () => {
|
|
6
|
-
render(_jsx(ChatbotAlert, { title: "Chatbot Alert" }));
|
|
7
|
-
expect(screen.getByText('Chatbot Alert')).toBeTruthy();
|
|
8
|
-
});
|
|
9
|
-
it('should render ChatbotAlert with children', () => {
|
|
10
|
-
render(_jsx(ChatbotAlert, { title: "Chatbot Alert", children: "Chatbot Alert Content" }));
|
|
11
|
-
expect(screen.getByText('Chatbot Alert Content')).toBeTruthy();
|
|
12
|
-
});
|
|
13
|
-
it('should call onClose handler when onClose button is clicked', () => {
|
|
14
|
-
const onCloseHandler = jest.fn();
|
|
15
|
-
render(_jsx(ChatbotAlert, { title: "Chatbot Alert", onClose: onCloseHandler, children: "Chatbot Alert Content" }));
|
|
16
|
-
expect(screen.getByText('Chatbot Alert')).toBeTruthy();
|
|
17
|
-
expect(screen.getByText('Chatbot Alert Content')).toBeTruthy();
|
|
18
|
-
// click on the close button
|
|
19
|
-
fireEvent.click(screen.getByRole('button'));
|
|
20
|
-
expect(onCloseHandler).toHaveBeenCalled();
|
|
21
|
-
});
|
|
22
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { render, screen } from '@testing-library/react';
|
|
3
|
-
import ChatbotContent from './ChatbotContent';
|
|
4
|
-
describe('ChatbotContent', () => {
|
|
5
|
-
it('should render ChatbotContent with children', () => {
|
|
6
|
-
render(_jsx(ChatbotContent, { children: "Chatbot Content" }));
|
|
7
|
-
expect(screen.getByText('Chatbot Content')).toBeTruthy();
|
|
8
|
-
});
|
|
9
|
-
it('should render ChatbotContent with custom classname', () => {
|
|
10
|
-
const { container } = render(_jsx(ChatbotContent, { className: "custom-class", children: "Chatbot Content" }));
|
|
11
|
-
expect(container.querySelector('.custom-class')).toBeTruthy();
|
|
12
|
-
});
|
|
13
|
-
it('should render ChatbotContent with primary class', () => {
|
|
14
|
-
const { container } = render(_jsx(ChatbotContent, { isPrimary: true, children: "Chatbot Content" }));
|
|
15
|
-
expect(container.querySelector('.pf-m-primary')).toBeTruthy();
|
|
16
|
-
});
|
|
17
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
import '@testing-library/jest-dom';
|
|
12
|
-
import { DropdownItem } from '@patternfly/react-core';
|
|
13
|
-
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
|
|
14
|
-
import ChatbotConversationHistoryDropdown from './ChatbotConversationHistoryDropdown';
|
|
15
|
-
describe('ChatbotConversationHistoryDropdown', () => {
|
|
16
|
-
const onSelect = jest.fn();
|
|
17
|
-
const menuItems = (_jsxs(_Fragment, { children: [_jsx(DropdownItem, { children: "Rename" }), _jsx(DropdownItem, { children: "Delete" })] }));
|
|
18
|
-
it('should render the dropdown', () => {
|
|
19
|
-
render(_jsx(ChatbotConversationHistoryDropdown, { menuItems: menuItems, menuClassName: "custom-class" }));
|
|
20
|
-
expect(screen.queryByRole('menuitem', { name: /Conversation options/i })).toBeInTheDocument();
|
|
21
|
-
});
|
|
22
|
-
it('should display the dropdown menuItems', () => {
|
|
23
|
-
render(_jsx(ChatbotConversationHistoryDropdown, { menuItems: menuItems }));
|
|
24
|
-
const toggle = screen.queryByRole('menuitem', { name: /Conversation options/i });
|
|
25
|
-
expect(toggle).toBeInTheDocument();
|
|
26
|
-
fireEvent.click(toggle);
|
|
27
|
-
waitFor(() => {
|
|
28
|
-
expect(screen.getByText('Rename')).toBeInTheDocument();
|
|
29
|
-
expect(screen.getByText('Delete')).toBeInTheDocument();
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
it('should invoke onSelect callback when menuitem is clicked', () => {
|
|
33
|
-
render(_jsx(ChatbotConversationHistoryDropdown, { menuItems: menuItems, onSelect: onSelect }));
|
|
34
|
-
const toggle = screen.queryByRole('menuitem', { name: /Conversation options/i });
|
|
35
|
-
fireEvent.click(toggle);
|
|
36
|
-
fireEvent.click(screen.getByText('Rename'));
|
|
37
|
-
expect(onSelect).toHaveBeenCalled();
|
|
38
|
-
});
|
|
39
|
-
it('should toggle the dropdown when menuitem is clicked', () => {
|
|
40
|
-
render(_jsx(ChatbotConversationHistoryDropdown, { menuItems: menuItems, onSelect: onSelect }));
|
|
41
|
-
const toggle = screen.queryByRole('menuitem', { name: /Conversation options/i });
|
|
42
|
-
fireEvent.click(toggle);
|
|
43
|
-
fireEvent.click(screen.getByText('Delete'));
|
|
44
|
-
expect(onSelect).toHaveBeenCalled();
|
|
45
|
-
expect(screen.queryByText('Delete')).not.toBeInTheDocument();
|
|
46
|
-
});
|
|
47
|
-
it('should close the dropdown when user clicks outside', () => {
|
|
48
|
-
render(_jsx(ChatbotConversationHistoryDropdown, { menuItems: menuItems, onSelect: onSelect }));
|
|
49
|
-
const toggle = screen.queryByRole('menuitem', { name: /Conversation options/i });
|
|
50
|
-
fireEvent.click(toggle);
|
|
51
|
-
expect(screen.queryByText('Delete')).toBeInTheDocument();
|
|
52
|
-
fireEvent.click(toggle.parentElement);
|
|
53
|
-
expect(screen.queryByText('Delete')).not.toBeInTheDocument();
|
|
54
|
-
});
|
|
55
|
-
it('should show the tooltip when the user hovers over the toggle button', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
-
render(_jsx(ChatbotConversationHistoryDropdown, { menuItems: menuItems, label: "Actions dropdown" }));
|
|
57
|
-
const toggle = screen.queryByRole('menuitem', { name: /Actions dropdown/i });
|
|
58
|
-
fireEvent(toggle, new MouseEvent('mouseenter', {
|
|
59
|
-
bubbles: false,
|
|
60
|
-
cancelable: false
|
|
61
|
-
}));
|
|
62
|
-
yield waitFor(() => {
|
|
63
|
-
expect(screen.queryByText('Actions dropdown')).toBeInTheDocument();
|
|
64
|
-
});
|
|
65
|
-
}));
|
|
66
|
-
it('should be able to set a custom aria-label', () => {
|
|
67
|
-
render(_jsx(ChatbotConversationHistoryDropdown, { menuItems: menuItems, "aria-label": "Custom conversation options" }));
|
|
68
|
-
expect(screen.queryByRole('menuitem', { name: /Custom conversation options/i })).toBeInTheDocument();
|
|
69
|
-
});
|
|
70
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|