@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,238 +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, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
import { act, render, screen } from '@testing-library/react';
|
|
12
|
-
import '@testing-library/jest-dom';
|
|
13
|
-
import userEvent from '@testing-library/user-event';
|
|
14
|
-
import UserFeedbackComplete from './UserFeedbackComplete';
|
|
15
|
-
describe('UserFeedbackComplete', () => {
|
|
16
|
-
it('should render correctly', () => {
|
|
17
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12" }));
|
|
18
|
-
expect(screen.getByText('Feedback submitted')).toBeTruthy();
|
|
19
|
-
screen.getByText(/We've received your response. Thank you for sharing your feedback!/i);
|
|
20
|
-
expect(screen.queryByRole('button', { name: /Close/i })).toBeFalsy();
|
|
21
|
-
});
|
|
22
|
-
it('should render different title correctly', () => {
|
|
23
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", title: "Thanks!" }));
|
|
24
|
-
expect(screen.getByText('Thanks!')).toBeTruthy();
|
|
25
|
-
screen.getByText(/We've received your response. Thank you for sharing your feedback!/i);
|
|
26
|
-
});
|
|
27
|
-
it('should render different string body correctly', () => {
|
|
28
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", body: "Thanks!" }));
|
|
29
|
-
expect(screen.getByText('Feedback submitted')).toBeTruthy();
|
|
30
|
-
expect(screen.getByText('Thanks!')).toBeTruthy();
|
|
31
|
-
});
|
|
32
|
-
it('should render different node body correctly', () => {
|
|
33
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", body: _jsx("div", { children: "Thanks!" }) }));
|
|
34
|
-
expect(screen.getByText('Feedback submitted')).toBeTruthy();
|
|
35
|
-
expect(screen.getByText('Thanks!')).toBeTruthy();
|
|
36
|
-
});
|
|
37
|
-
it('should handle onClose correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
-
const spy = jest.fn();
|
|
39
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", onClose: spy }));
|
|
40
|
-
const closeButton = screen.getByRole('button', { name: 'Close feedback for message received at 12/12/12' });
|
|
41
|
-
expect(closeButton).toBeTruthy();
|
|
42
|
-
yield userEvent.click(closeButton);
|
|
43
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
44
|
-
}));
|
|
45
|
-
it('should be able to change close button aria label', () => {
|
|
46
|
-
const spy = jest.fn();
|
|
47
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", onClose: spy, closeButtonAriaLabel: "Ima button" }));
|
|
48
|
-
expect(screen.getByRole('button', { name: /Ima button/i })).toBeTruthy();
|
|
49
|
-
});
|
|
50
|
-
it('should handle className', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", className: "test", "data-testid": "card" }));
|
|
52
|
-
expect(screen.getByTestId('card')).toHaveClass('test');
|
|
53
|
-
}));
|
|
54
|
-
it('should apply id', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", id: "test", "data-testid": "card" }));
|
|
56
|
-
expect(screen.getByTestId('card').parentElement).toHaveAttribute('id', 'test');
|
|
57
|
-
}));
|
|
58
|
-
it('renders with no timeout by default', () => {
|
|
59
|
-
jest.useFakeTimers();
|
|
60
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12" }));
|
|
61
|
-
act(() => {
|
|
62
|
-
jest.advanceTimersByTime(8000);
|
|
63
|
-
});
|
|
64
|
-
expect(screen.getByText('Feedback submitted')).toBeVisible();
|
|
65
|
-
jest.useRealTimers();
|
|
66
|
-
});
|
|
67
|
-
it('should handle timeout correctly after 8000ms when timeout = true', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
|
-
jest.useFakeTimers();
|
|
69
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true }));
|
|
70
|
-
act(() => {
|
|
71
|
-
jest.advanceTimersByTime(7999);
|
|
72
|
-
});
|
|
73
|
-
expect(screen.getByText('Feedback submitted')).toBeVisible();
|
|
74
|
-
act(() => {
|
|
75
|
-
jest.advanceTimersByTime(1);
|
|
76
|
-
});
|
|
77
|
-
expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
|
|
78
|
-
jest.useRealTimers();
|
|
79
|
-
}));
|
|
80
|
-
it('should handle timeout correctly when timeout = numeric value', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
|
-
jest.useFakeTimers();
|
|
82
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: 300 }));
|
|
83
|
-
act(() => {
|
|
84
|
-
jest.advanceTimersByTime(299);
|
|
85
|
-
});
|
|
86
|
-
expect(screen.getByText('Feedback submitted')).toBeVisible();
|
|
87
|
-
act(() => {
|
|
88
|
-
jest.advanceTimersByTime(1);
|
|
89
|
-
});
|
|
90
|
-
expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
|
|
91
|
-
jest.useRealTimers();
|
|
92
|
-
}));
|
|
93
|
-
it('does not get removed on timeout if the user is focused on the card', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
94
|
-
const user = userEvent.setup({
|
|
95
|
-
advanceTimers: (delay) => jest.advanceTimersByTime(delay)
|
|
96
|
-
});
|
|
97
|
-
jest.useFakeTimers();
|
|
98
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
|
|
99
|
-
expect(screen.getByText('Feedback submitted')).toBeTruthy();
|
|
100
|
-
yield user.click(screen.getByTestId('card'));
|
|
101
|
-
act(() => {
|
|
102
|
-
jest.advanceTimersByTime(8000);
|
|
103
|
-
});
|
|
104
|
-
expect(screen.getByText('Feedback submitted')).toBeTruthy();
|
|
105
|
-
jest.useRealTimers();
|
|
106
|
-
}));
|
|
107
|
-
it('does not remove the card on timeout if the user is hovered over it', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
108
|
-
const user = userEvent.setup({
|
|
109
|
-
advanceTimers: (delay) => jest.advanceTimersByTime(delay)
|
|
110
|
-
});
|
|
111
|
-
jest.useFakeTimers();
|
|
112
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
|
|
113
|
-
const card = screen.getByTestId('card');
|
|
114
|
-
yield user.hover(card);
|
|
115
|
-
act(() => {
|
|
116
|
-
jest.advanceTimersByTime(8000);
|
|
117
|
-
});
|
|
118
|
-
expect(card).toBeVisible();
|
|
119
|
-
jest.useRealTimers();
|
|
120
|
-
}));
|
|
121
|
-
it('removes the card after the user removes focus from the card and 3000ms have passed', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
122
|
-
const user = userEvent.setup({
|
|
123
|
-
advanceTimers: (delay) => jest.advanceTimersByTime(delay)
|
|
124
|
-
});
|
|
125
|
-
jest.useFakeTimers();
|
|
126
|
-
render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" })] }));
|
|
127
|
-
const card = screen.getByTestId('card');
|
|
128
|
-
yield user.click(card);
|
|
129
|
-
act(() => {
|
|
130
|
-
jest.advanceTimersByTime(8000);
|
|
131
|
-
});
|
|
132
|
-
yield user.click(screen.getByRole('textbox'));
|
|
133
|
-
act(() => {
|
|
134
|
-
jest.advanceTimersByTime(3000);
|
|
135
|
-
});
|
|
136
|
-
expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
|
|
137
|
-
jest.useRealTimers();
|
|
138
|
-
}));
|
|
139
|
-
it('removes the card after the user removes hover from the card and 3000ms have passed', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
140
|
-
const user = userEvent.setup({
|
|
141
|
-
advanceTimers: (delay) => jest.advanceTimersByTime(delay)
|
|
142
|
-
});
|
|
143
|
-
jest.useFakeTimers();
|
|
144
|
-
render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" })] }));
|
|
145
|
-
const card = screen.getByTestId('card');
|
|
146
|
-
yield user.hover(card);
|
|
147
|
-
act(() => {
|
|
148
|
-
jest.advanceTimersByTime(8000);
|
|
149
|
-
});
|
|
150
|
-
yield user.hover(screen.getByRole('textbox'));
|
|
151
|
-
act(() => {
|
|
152
|
-
jest.advanceTimersByTime(3000);
|
|
153
|
-
});
|
|
154
|
-
expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
|
|
155
|
-
jest.useRealTimers();
|
|
156
|
-
}));
|
|
157
|
-
it('removes the card after the user removes hover from the card and timeoutAnimation time has passed', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
158
|
-
const user = userEvent.setup({
|
|
159
|
-
advanceTimers: (delay) => jest.advanceTimersByTime(delay)
|
|
160
|
-
});
|
|
161
|
-
jest.useFakeTimers();
|
|
162
|
-
render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card", timeoutAnimation: 1000 })] }));
|
|
163
|
-
const card = screen.getByTestId('card');
|
|
164
|
-
yield user.hover(card);
|
|
165
|
-
act(() => {
|
|
166
|
-
jest.advanceTimersByTime(8000);
|
|
167
|
-
});
|
|
168
|
-
yield user.hover(screen.getByRole('textbox'));
|
|
169
|
-
act(() => {
|
|
170
|
-
jest.advanceTimersByTime(1000);
|
|
171
|
-
});
|
|
172
|
-
expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
|
|
173
|
-
jest.useRealTimers();
|
|
174
|
-
}));
|
|
175
|
-
it('does not call the onTimeout callback before the timeout period has expired', () => {
|
|
176
|
-
const spy = jest.fn();
|
|
177
|
-
jest.useFakeTimers();
|
|
178
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card", onTimeout: spy }));
|
|
179
|
-
act(() => {
|
|
180
|
-
jest.advanceTimersByTime(7999);
|
|
181
|
-
});
|
|
182
|
-
expect(spy).not.toHaveBeenCalled();
|
|
183
|
-
jest.useRealTimers();
|
|
184
|
-
});
|
|
185
|
-
it('calls the onTimeout callback after the timeout period has expired', () => {
|
|
186
|
-
jest.useFakeTimers();
|
|
187
|
-
const spy = jest.fn();
|
|
188
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card", onTimeout: spy }));
|
|
189
|
-
act(() => {
|
|
190
|
-
jest.advanceTimersByTime(8000);
|
|
191
|
-
});
|
|
192
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
193
|
-
jest.useRealTimers();
|
|
194
|
-
});
|
|
195
|
-
it('renders without aria-live and aria-atomic attributes by default', () => {
|
|
196
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
|
|
197
|
-
const card = screen.getByTestId('card').parentElement;
|
|
198
|
-
expect(card).not.toHaveAttribute('aria-live');
|
|
199
|
-
expect(card).not.toHaveAttribute('aria-atomic');
|
|
200
|
-
});
|
|
201
|
-
it('has an aria-live value of polite and aria-atomic value of false when isLiveRegion = true', () => {
|
|
202
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card", isLiveRegion: true }));
|
|
203
|
-
const card = screen.getByTestId('card').parentElement;
|
|
204
|
-
expect(card).toHaveAttribute('aria-live', 'polite');
|
|
205
|
-
expect(card).toHaveAttribute('aria-atomic', 'false');
|
|
206
|
-
});
|
|
207
|
-
it('calls onMouseEnter appropriately', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
208
|
-
const spy = jest.fn();
|
|
209
|
-
const user = userEvent.setup();
|
|
210
|
-
render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card", onMouseEnter: spy })] }));
|
|
211
|
-
const card = screen.getByTestId('card');
|
|
212
|
-
expect(spy).toHaveBeenCalledTimes(0);
|
|
213
|
-
yield user.hover(card);
|
|
214
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
215
|
-
}));
|
|
216
|
-
it('calls onMouseLeave appropriately', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
217
|
-
const spy = jest.fn();
|
|
218
|
-
const user = userEvent.setup();
|
|
219
|
-
render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card", onMouseLeave: spy })] }));
|
|
220
|
-
const card = screen.getByTestId('card');
|
|
221
|
-
expect(spy).toHaveBeenCalledTimes(0);
|
|
222
|
-
yield user.hover(card);
|
|
223
|
-
yield user.hover(screen.getByRole('textbox'));
|
|
224
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
225
|
-
}));
|
|
226
|
-
it('should focus on load by default', () => {
|
|
227
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card" }));
|
|
228
|
-
expect(screen.getByTestId('card').parentElement).toHaveFocus();
|
|
229
|
-
});
|
|
230
|
-
it('should not focus on load if focusOnLoad = false', () => {
|
|
231
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card", focusOnLoad: false }));
|
|
232
|
-
expect(screen.getByTestId('card').parentElement).not.toHaveFocus();
|
|
233
|
-
});
|
|
234
|
-
it('should handle isCompact', () => {
|
|
235
|
-
render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card", isCompact: true }));
|
|
236
|
-
expect(screen.getByTestId('card')).toHaveClass('pf-m-compact');
|
|
237
|
-
});
|
|
238
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|
|
@@ -1,147 +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 { render, screen } from '@testing-library/react';
|
|
12
|
-
import '@testing-library/jest-dom';
|
|
13
|
-
import userEvent from '@testing-library/user-event';
|
|
14
|
-
import { AttachButton } from './AttachButton';
|
|
15
|
-
describe('Attach button', () => {
|
|
16
|
-
it('should render button correctly', () => {
|
|
17
|
-
render(_jsx(AttachButton, {}));
|
|
18
|
-
expect(screen.getByRole('button', { name: 'Attach' })).toBeTruthy();
|
|
19
|
-
});
|
|
20
|
-
it('should handle isDisabled prop', () => {
|
|
21
|
-
render(_jsx(AttachButton, { isDisabled: true }));
|
|
22
|
-
expect(screen.getByRole('button', { name: 'Attach' })).toBeDisabled();
|
|
23
|
-
});
|
|
24
|
-
it('should handle spread props, including aria-label', () => {
|
|
25
|
-
render(_jsx(AttachButton, { "aria-label": "test" }));
|
|
26
|
-
expect(screen.getByRole('button', { name: 'test' }));
|
|
27
|
-
});
|
|
28
|
-
it('should handle onClick', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
-
const spy = jest.fn();
|
|
30
|
-
render(_jsx(AttachButton, { onClick: spy }));
|
|
31
|
-
yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
|
|
32
|
-
expect(screen.getByRole('tooltip', { name: 'Attach' })).toBeTruthy();
|
|
33
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
34
|
-
}));
|
|
35
|
-
it('should handle className prop', () => {
|
|
36
|
-
render(_jsx(AttachButton, { className: "test" }));
|
|
37
|
-
expect(screen.getByRole('button', { name: 'Attach' })).toHaveClass('test');
|
|
38
|
-
});
|
|
39
|
-
it('should handle custom tooltip correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
-
render(_jsx(AttachButton, { onClick: jest.fn, tooltipContent: "Test" }));
|
|
41
|
-
yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
|
|
42
|
-
expect(screen.getByRole('tooltip', { name: 'Test' })).toBeTruthy();
|
|
43
|
-
}));
|
|
44
|
-
it('should handle tooltipProps prop', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
-
render(_jsx(AttachButton, { tooltipProps: { id: 'test' } }));
|
|
46
|
-
yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
|
|
47
|
-
expect(screen.getByRole('tooltip', { name: 'Attach' })).toHaveAttribute('id', 'test');
|
|
48
|
-
}));
|
|
49
|
-
// Based on this because I had no idea how to do this and was looking around: https://stackoverflow.com/a/75562651
|
|
50
|
-
// See also https://developer.mozilla.org/en-US/docs/Web/API/File/File for what that file variable is doing
|
|
51
|
-
it('should handle onAttachAccepted prop', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
-
const spy = jest.fn();
|
|
53
|
-
render(_jsx(AttachButton, { onAttachAccepted: spy, inputTestId: "input" }));
|
|
54
|
-
yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
|
|
55
|
-
const file = new File(['test'], 'test.json');
|
|
56
|
-
const input = screen.getByTestId('input');
|
|
57
|
-
yield userEvent.upload(input, file);
|
|
58
|
-
expect(input.files).toHaveLength(1);
|
|
59
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
60
|
-
}));
|
|
61
|
-
it('should handle isCompact', () => {
|
|
62
|
-
render(_jsx(AttachButton, { isCompact: true, "data-testid": "button" }));
|
|
63
|
-
expect(screen.getByTestId('button')).toHaveClass('pf-m-compact');
|
|
64
|
-
});
|
|
65
|
-
it('should set correct accept attribute on file input', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
-
render(_jsx(AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] } }));
|
|
67
|
-
yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
|
|
68
|
-
const input = screen.getByTestId('input');
|
|
69
|
-
expect(input).toHaveAttribute('accept', 'text/plain,.txt');
|
|
70
|
-
}));
|
|
71
|
-
it('should call onAttachAccepted when file type is accepted', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
-
const onAttachAccepted = jest.fn();
|
|
73
|
-
render(_jsx(AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] }, onAttachAccepted: onAttachAccepted }));
|
|
74
|
-
const file = new File(['hello'], 'example.txt', { type: 'text/plain' });
|
|
75
|
-
const input = screen.getByTestId('input');
|
|
76
|
-
yield userEvent.upload(input, file);
|
|
77
|
-
expect(onAttachAccepted).toHaveBeenCalled();
|
|
78
|
-
const [attachedFile] = onAttachAccepted.mock.calls[0][0];
|
|
79
|
-
expect(attachedFile).toEqual(file);
|
|
80
|
-
}));
|
|
81
|
-
it('should not call onAttachAccepted when file type is not accepted', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
82
|
-
const onAttachAccepted = jest.fn();
|
|
83
|
-
render(_jsx(AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] }, onAttachAccepted: onAttachAccepted }));
|
|
84
|
-
const file = new File(['[]'], 'example.json', { type: 'application/json' });
|
|
85
|
-
const input = screen.getByTestId('input');
|
|
86
|
-
yield userEvent.upload(input, file);
|
|
87
|
-
expect(onAttachAccepted).not.toHaveBeenCalled();
|
|
88
|
-
}));
|
|
89
|
-
it('should respect minSize restriction', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
90
|
-
const onAttachRejected = jest.fn();
|
|
91
|
-
render(_jsx(AttachButton, { inputTestId: "input", minSize: 1000, onAttachRejected: onAttachRejected }));
|
|
92
|
-
const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
|
|
93
|
-
const input = screen.getByTestId('input');
|
|
94
|
-
yield userEvent.upload(input, file);
|
|
95
|
-
expect(onAttachRejected).toHaveBeenCalled();
|
|
96
|
-
}));
|
|
97
|
-
it('should respect maxSize restriction', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
|
-
const onAttachRejected = jest.fn();
|
|
99
|
-
render(_jsx(AttachButton, { inputTestId: "input", maxSize: 100, onAttachRejected: onAttachRejected }));
|
|
100
|
-
const largeContent = 'x'.repeat(200);
|
|
101
|
-
const file = new File([largeContent], 'example.txt', { type: 'text/plain' });
|
|
102
|
-
const input = screen.getByTestId('input');
|
|
103
|
-
yield userEvent.upload(input, file);
|
|
104
|
-
expect(onAttachRejected).toHaveBeenCalled();
|
|
105
|
-
}));
|
|
106
|
-
it('should respect maxFiles restriction', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
107
|
-
const onAttachRejected = jest.fn();
|
|
108
|
-
render(_jsx(AttachButton, { inputTestId: "input", maxFiles: 1, onAttachRejected: onAttachRejected }));
|
|
109
|
-
const files = [
|
|
110
|
-
new File(['Test1'], 'example1.txt', { type: 'text/plain' }),
|
|
111
|
-
new File(['Test2'], 'example2.txt', { type: 'text/plain' })
|
|
112
|
-
];
|
|
113
|
-
const input = screen.getByTestId('input');
|
|
114
|
-
yield userEvent.upload(input, files);
|
|
115
|
-
expect(onAttachRejected).toHaveBeenCalled();
|
|
116
|
-
}));
|
|
117
|
-
it('should be disabled when isAttachmentDisabled is true', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
118
|
-
const onFileDrop = jest.fn();
|
|
119
|
-
render(_jsx(AttachButton, { inputTestId: "input", isAttachmentDisabled: true }));
|
|
120
|
-
const file = new File(['Test'], 'example.text', { type: 'text/plain' });
|
|
121
|
-
const input = screen.getByTestId('input');
|
|
122
|
-
yield userEvent.upload(input, file);
|
|
123
|
-
expect(onFileDrop).not.toHaveBeenCalled();
|
|
124
|
-
}));
|
|
125
|
-
it('should call onAttach when files are attached', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
126
|
-
const onAttach = jest.fn();
|
|
127
|
-
render(_jsx(AttachButton, { inputTestId: "input", onAttach: onAttach }));
|
|
128
|
-
const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
|
|
129
|
-
const input = screen.getByTestId('input');
|
|
130
|
-
yield userEvent.upload(input, file);
|
|
131
|
-
expect(onAttach).toHaveBeenCalled();
|
|
132
|
-
}));
|
|
133
|
-
it('should use custom validator when provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
134
|
-
const validator = jest.fn().mockReturnValue({ message: 'Custom error' });
|
|
135
|
-
const onAttachRejected = jest.fn();
|
|
136
|
-
render(_jsx(AttachButton, { inputTestId: "input", validator: validator, onAttachRejected: onAttachRejected }));
|
|
137
|
-
const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
|
|
138
|
-
const input = screen.getByTestId('input');
|
|
139
|
-
yield userEvent.upload(input, file);
|
|
140
|
-
expect(validator).toHaveBeenCalledWith(file);
|
|
141
|
-
expect(onAttachRejected).toHaveBeenCalled();
|
|
142
|
-
}));
|
|
143
|
-
it('should handle icon prop', () => {
|
|
144
|
-
render(_jsx(AttachButton, { icon: _jsx("img", { alt: "", src: "" }) }));
|
|
145
|
-
expect(screen.getByRole('img')).toBeVisible();
|
|
146
|
-
});
|
|
147
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|