From 335b500aea58b62ea61d9b398a1a8ae2049bcec5 Mon Sep 17 00:00:00 2001 From: Coding On Star <447357187@qq.com> Date: Mon, 2 Mar 2026 11:40:43 +0800 Subject: [PATCH] test: add unit tests for base components (#32818) Co-authored-by: CodingOnStar --- .../base/{ => __tests__}/alert.spec.tsx | 2 +- .../{ => __tests__}/app-unavailable.spec.tsx | 2 +- .../base/{ => __tests__}/badge.spec.tsx | 2 +- .../{ => __tests__}/theme-selector.spec.tsx | 2 +- .../{ => __tests__}/theme-switcher.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/detail.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/iteration.spec.tsx | 2 +- .../{ => __tests__}/result.spec.tsx | 2 +- .../{ => __tests__}/tool-call.spec.tsx | 2 +- .../{ => __tests__}/tracing.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/ImageInput.spec.tsx | 2 +- .../{ => __tests__}/hooks.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/utils.spec.ts | 2 +- .../app-icon/{ => __tests__}/index.spec.tsx | 2 +- .../audio-btn/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/AudioPlayer.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../avatar/{ => __tests__}/index.spec.tsx | 2 +- .../base/badge/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/add-button.spec.tsx | 2 +- .../button/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/sync-button.spec.tsx | 2 +- .../carousel/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/chat-wrapper.spec.tsx | 18 ++++++++--------- .../{ => __tests__}/header-in-mobile.spec.tsx | 12 +++++------ .../{ => __tests__}/hooks.spec.tsx | 10 +++++----- .../{ => __tests__}/index.spec.tsx | 10 +++++----- .../header/{ => __tests__}/index.spec.tsx | 8 ++++---- .../mobile-operation-dropdown.spec.tsx | 2 +- .../header/{ => __tests__}/operation.spec.tsx | 2 +- .../{ => __tests__}/content.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../view-form-dropdown.spec.tsx | 8 ++++---- .../sidebar/{ => __tests__}/index.spec.tsx | 10 +++++----- .../sidebar/{ => __tests__}/item.spec.tsx | 2 +- .../sidebar/{ => __tests__}/list.spec.tsx | 4 ++-- .../{ => __tests__}/operation.spec.tsx | 2 +- .../{ => __tests__}/rename-modal.spec.tsx | 2 +- .../{ => __tests__}/content-switch.spec.tsx | 2 +- .../chat/{ => __tests__}/context.spec.tsx | 6 +++--- .../{ => __tests__}/hooks.multimodal.spec.ts | 0 .../chat/chat/{ => __tests__}/index.spec.tsx | 12 +++++------ .../chat/{ => __tests__}/question.spec.tsx | 12 +++++------ .../chat/{ => __tests__}/try-to-ask.spec.tsx | 4 ++-- .../{ => __tests__}/agent-content.spec.tsx | 4 ++-- .../{ => __tests__}/basic-content.spec.tsx | 4 ++-- .../human-input-filled-form-list.spec.tsx | 2 +- .../human-input-form-list.spec.tsx | 6 +++--- .../chat/answer/{ => __tests__}/more.spec.tsx | 2 +- .../answer/{ => __tests__}/operation.spec.tsx | 8 ++++---- .../suggested-questions.spec.tsx | 8 ++++---- .../{ => __tests__}/tool-detail.spec.tsx | 4 ++-- .../{ => __tests__}/workflow-process.spec.tsx | 4 ++-- .../{ => __tests__}/content-item.spec.tsx | 2 +- .../{ => __tests__}/content-wrapper.spec.tsx | 2 +- .../{ => __tests__}/executed-action.spec.tsx | 2 +- .../{ => __tests__}/expiration-time.spec.tsx | 8 ++++---- .../{ => __tests__}/human-input-form.spec.tsx | 4 ++-- .../submitted-content.spec.tsx | 2 +- .../{ => __tests__}/submitted.spec.tsx | 2 +- .../{ => __tests__}/tips.spec.tsx | 2 +- .../{ => __tests__}/unsubmitted.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/operation.spec.tsx | 6 +++--- .../citation/{ => __tests__}/index.spec.tsx | 6 +++--- .../citation/{ => __tests__}/popup.spec.tsx | 8 ++++---- .../{ => __tests__}/progress-tooltip.spec.tsx | 2 +- .../citation/{ => __tests__}/tooltip.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../chat/log/{ => __tests__}/index.spec.tsx | 2 +- .../thought/{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/chat-wrapper.spec.tsx | 20 +++++++++---------- .../{ => __tests__}/hooks.spec.tsx | 10 +++++----- .../{ => __tests__}/index.spec.tsx | 16 +++++++-------- .../header/{ => __tests__}/index.spec.tsx | 8 ++++---- .../{ => __tests__}/content.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../view-form-dropdown.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../checkbox/{ => __tests__}/index.spec.tsx | 2 +- .../indeterminate-icon.spec.tsx | 2 +- .../base/chip/{ => __tests__}/index.spec.tsx | 4 ++-- .../confirm/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../copy-icon/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/hooks.spec.ts | 6 +++--- .../{ => __tests__}/days-of-week.spec.tsx | 2 +- .../calendar/{ => __tests__}/index.spec.tsx | 6 +++--- .../calendar/{ => __tests__}/item.spec.tsx | 6 +++--- .../{ => __tests__}/option-list-item.spec.tsx | 2 +- .../{ => __tests__}/footer.spec.tsx | 6 +++--- .../{ => __tests__}/header.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/footer.spec.tsx | 4 ++-- .../{ => __tests__}/header.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/options.spec.tsx | 6 +++--- .../{ => __tests__}/dayjs-extended.spec.ts | 2 +- .../utils/{ => __tests__}/dayjs.spec.ts | 2 +- .../{ => __tests__}/footer.spec.tsx | 4 ++-- .../{ => __tests__}/header.spec.tsx | 4 ++-- .../{ => __tests__}/options.spec.tsx | 4 ++-- .../dialog/{ => __tests__}/index.spec.tsx | 2 +- .../divider/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../drawer/{ => __tests__}/index.spec.tsx | 4 ++-- .../dropdown/{ => __tests__}/index.spec.tsx | 2 +- .../effect/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/Inner.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../features/{ => __tests__}/context.spec.tsx | 2 +- .../features/{ => __tests__}/hooks.spec.ts | 6 +++--- .../features/{ => __tests__}/store.spec.ts | 2 +- .../{ => __tests__}/citation.spec.tsx | 6 +++--- .../{ => __tests__}/dialog-wrapper.spec.tsx | 2 +- .../{ => __tests__}/feature-bar.spec.tsx | 6 +++--- .../{ => __tests__}/feature-card.spec.tsx | 2 +- .../{ => __tests__}/follow-up.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/more-like-this.spec.tsx | 6 +++--- .../{ => __tests__}/speech-to-text.spec.tsx | 6 +++--- .../annotation-ctrl-button.spec.tsx | 2 +- .../config-param-modal.spec.tsx | 2 +- .../{ => __tests__}/config-param.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/type.spec.ts | 2 +- .../use-annotation-config.spec.ts | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/modal.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/setting-content.spec.tsx | 6 +++--- .../{ => __tests__}/setting-modal.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/form-generation.spec.tsx | 2 +- .../moderation/{ => __tests__}/index.spec.tsx | 6 +++--- .../moderation-content.spec.tsx | 2 +- .../moderation-setting-modal.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../param-config-content.spec.tsx | 6 +++--- .../{ => __tests__}/voice-settings.spec.tsx | 6 +++--- .../file-icon/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/image-render.spec.tsx | 2 +- .../file-thumb/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/audio-preview.spec.tsx | 2 +- .../{ => __tests__}/constants.spec.ts | 2 +- .../file-image-render.spec.tsx | 2 +- .../{ => __tests__}/file-input.spec.tsx | 8 ++++---- .../{ => __tests__}/file-list-in-log.spec.tsx | 4 ++-- .../{ => __tests__}/file-type-icon.spec.tsx | 4 ++-- .../{ => __tests__}/hooks.spec.ts | 8 ++++---- .../{ => __tests__}/pdf-preview.spec.tsx | 4 ++-- .../{ => __tests__}/store.spec.tsx | 4 ++-- .../{ => __tests__}/utils.spec.ts | 12 +++++------ .../{ => __tests__}/video-preview.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../{ => __tests__}/file-item.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/file-image-item.spec.tsx | 4 ++-- .../{ => __tests__}/file-item.spec.tsx | 6 +++--- .../{ => __tests__}/file-list.spec.tsx | 8 ++++---- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 2 +- .../base/form/{ => __tests__}/index.spec.tsx | 2 +- .../base/form/{ => __tests__}/types.spec.ts | 2 +- .../components/{ => __tests__}/label.spec.tsx | 2 +- .../base/{ => __tests__}/base-field.spec.tsx | 2 +- .../base/{ => __tests__}/base-form.spec.tsx | 2 +- .../base/{ => __tests__}/index.spec.tsx | 2 +- .../field/{ => __tests__}/checkbox.spec.tsx | 4 ++-- .../{ => __tests__}/custom-select.spec.tsx | 4 ++-- .../field/{ => __tests__}/file-types.spec.tsx | 4 ++-- .../{ => __tests__}/file-uploader.spec.tsx | 4 ++-- .../{ => __tests__}/number-input.spec.tsx | 4 ++-- .../{ => __tests__}/number-slider.spec.tsx | 4 ++-- .../field/{ => __tests__}/options.spec.tsx | 4 ++-- .../field/{ => __tests__}/select.spec.tsx | 4 ++-- .../field/{ => __tests__}/text-area.spec.tsx | 4 ++-- .../field/{ => __tests__}/text.spec.tsx | 4 ++-- .../{ => __tests__}/upload-method.spec.tsx | 4 ++-- .../variable-or-constant-input.spec.tsx | 2 +- .../variable-selector.spec.tsx | 2 +- .../{ => __tests__}/hooks.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/option.spec.tsx | 2 +- .../{ => __tests__}/trigger.spec.tsx | 2 +- .../{ => __tests__}/types.spec.ts | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/placeholder.spec.tsx | 2 +- .../form/{ => __tests__}/actions.spec.tsx | 8 ++++---- .../auth/{ => __tests__}/index.spec.tsx | 2 +- .../base/{ => __tests__}/field.spec.tsx | 8 ++++---- .../base/{ => __tests__}/index.spec.tsx | 4 ++-- .../base/{ => __tests__}/types.spec.ts | 2 +- .../base/{ => __tests__}/utils.spec.ts | 4 ++-- .../{ => __tests__}/contact-fields.spec.tsx | 6 +++--- .../demo/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/shared-options.spec.tsx | 2 +- .../demo/{ => __tests__}/types.spec.ts | 2 +- .../{ => __tests__}/field.spec.tsx | 8 ++++---- .../input-field/{ => __tests__}/types.spec.ts | 2 +- .../input-field/{ => __tests__}/utils.spec.ts | 4 ++-- .../node-panel/{ => __tests__}/field.spec.tsx | 8 ++++---- .../node-panel/{ => __tests__}/types.spec.ts | 2 +- .../form/hooks/{ => __tests__}/index.spec.ts | 8 ++++---- .../use-check-validated.spec.ts | 4 ++-- .../use-get-form-values.spec.ts | 8 ++++---- .../use-get-validators.spec.ts | 4 ++-- .../zod-submit-validator.spec.ts | 2 +- .../{ => __tests__}/index.spec.ts | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../base/ga/{ => __tests__}/index.spec.tsx | 2 +- .../grid-mask/{ => __tests__}/index.spec.tsx | 4 ++-- .../icons/{ => __tests__}/IconBase.spec.tsx | 8 ++++---- .../base/icons/{ => __tests__}/utils.spec.ts | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/audio-preview.spec.tsx | 2 +- .../chat-image-uploader.spec.tsx | 6 +++--- .../{ => __tests__}/hooks.spec.ts | 4 ++-- .../{ => __tests__}/image-link-input.spec.tsx | 2 +- .../{ => __tests__}/image-list.spec.tsx | 2 +- .../{ => __tests__}/image-preview.spec.tsx | 2 +- .../text-generation-image-uploader.spec.tsx | 6 +++--- .../{ => __tests__}/uploader.spec.tsx | 6 +++--- .../{ => __tests__}/utils.spec.ts | 2 +- .../{ => __tests__}/video-preview.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../base/input/{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/horizontal-line.spec.tsx | 2 +- .../list-empty/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/vertical-line.spec.tsx | 2 +- .../loading/{ => __tests__}/index.spec.tsx | 2 +- .../logo/{ => __tests__}/dify-logo.spec.tsx | 2 +- .../logo-embedded-chat-avatar.spec.tsx | 2 +- .../logo-embedded-chat-header.spec.tsx | 2 +- .../logo/{ => __tests__}/logo-site.spec.tsx | 2 +- .../{ => __tests__}/audio-block.spec.tsx | 2 +- .../{ => __tests__}/button.spec.tsx | 4 ++-- .../{ => __tests__}/code-block.spec.tsx | 2 +- .../{ => __tests__}/form.spec.tsx | 2 +- .../{ => __tests__}/link.spec.tsx | 4 ++-- .../{ => __tests__}/music.spec.tsx | 2 +- .../{ => __tests__}/paragraph.spec.tsx | 2 +- .../{ => __tests__}/plugin-img.spec.tsx | 4 ++-- .../{ => __tests__}/plugin-paragraph.spec.tsx | 6 +++--- .../{ => __tests__}/pre-code.spec.tsx | 2 +- .../{ => __tests__}/script-block.spec.tsx | 2 +- .../{ => __tests__}/think-block.spec.tsx | 2 +- .../{ => __tests__}/video-block.spec.tsx | 4 ++-- .../{ => __tests__}/error-boundary.spec.tsx | 2 +- .../markdown/{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/markdown-utils.spec.ts | 6 +++--- .../react-markdown-wrapper.spec.tsx | 2 +- .../mermaid/{ => __tests__}/index.spec.tsx | 10 +++++----- .../mermaid/{ => __tests__}/utils.spec.ts | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../base/modal/{ => __tests__}/index.spec.tsx | 2 +- .../base/modal/{ => __tests__}/modal.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/base.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../pagination/{ => __tests__}/hook.spec.ts | 2 +- .../pagination/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/pagination.spec.tsx | 2 +- .../{ => __tests__}/index-slider.spec.tsx | 2 +- .../param-item/{ => __tests__}/index.spec.tsx | 4 ++-- .../score-threshold-item.spec.tsx | 2 +- .../{ => __tests__}/top-k-item.spec.tsx | 2 +- .../popover/{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/progress-circle.spec.tsx | 2 +- .../{ => __tests__}/constants.spec.tsx | 4 ++-- .../{ => __tests__}/hooks.spec.tsx | 10 +++++----- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../{ => __tests__}/utils.spec.ts | 8 ++++---- .../on-blur-or-focus-block.spec.tsx | 6 +++--- .../{ => __tests__}/placeholder.spec.tsx | 2 +- .../{ => __tests__}/tree-view.spec.tsx | 4 ++-- .../{ => __tests__}/update-block.spec.tsx | 8 ++++---- .../{ => __tests__}/hooks.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 16 +++++++-------- .../{ => __tests__}/menu.spec.tsx | 2 +- .../{ => __tests__}/prompt-option.spec.tsx | 2 +- .../{ => __tests__}/variable-option.spec.tsx | 2 +- .../{ => __tests__}/component.spec.tsx | 6 +++--- .../context-block-replacement-block.spec.tsx | 8 ++++---- .../{ => __tests__}/index.spec.tsx | 12 +++++------ .../{ => __tests__}/node.spec.tsx | 4 ++-- .../{ => __tests__}/component.spec.tsx | 8 ++++---- .../current-block-replacement-block.spec.tsx | 10 +++++----- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../{ => __tests__}/node.spec.tsx | 6 +++--- .../custom-text/{ => __tests__}/node.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/component.spec.tsx | 8 ++++---- ...r-message-block-replacement-block.spec.tsx | 14 ++++++------- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/node.spec.tsx | 2 +- .../{ => __tests__}/component.spec.tsx | 10 +++++----- .../history-block-replacement-block.spec.tsx | 12 +++++------ .../{ => __tests__}/index.spec.tsx | 10 +++++----- .../{ => __tests__}/node.spec.tsx | 8 ++++---- .../{ => __tests__}/component.spec.tsx | 6 +++--- ...itl-input-block-replacement-block.spec.tsx | 10 +++++----- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/input-field.spec.tsx | 2 +- .../{ => __tests__}/node.spec.tsx | 6 +++--- .../{ => __tests__}/pre-populate.spec.tsx | 2 +- .../{ => __tests__}/tag-label.spec.tsx | 2 +- .../{ => __tests__}/type-switch.spec.tsx | 2 +- .../{ => __tests__}/variable-block.spec.tsx | 10 +++++----- .../{ => __tests__}/component.spec.tsx | 8 ++++---- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../last-run-block-replacement-block.spec.tsx | 10 +++++----- .../{ => __tests__}/node.spec.tsx | 6 +++--- .../{ => __tests__}/component.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../query-block/{ => __tests__}/node.spec.tsx | 6 +++--- .../query-block-replacement-block.spec.tsx | 10 +++++----- .../{ => __tests__}/component.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../{ => __tests__}/node.spec.tsx | 6 +++--- ...quest-url-block-replacement-block.spec.tsx | 10 +++++----- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../{ => __tests__}/index.spec.tsx | 10 +++++----- .../{ => __tests__}/node.spec.tsx | 2 +- .../{ => __tests__}/component.spec.tsx | 10 +++++----- .../{ => __tests__}/index.spec.tsx | 8 ++++---- .../{ => __tests__}/node.spec.tsx | 2 +- ...-variable-block-replacement-block.spec.tsx | 16 +++++++-------- .../{ => __tests__}/card.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../qrcode/{ => __tests__}/index.spec.tsx | 2 +- .../radio-card/{ => __tests__}/index.spec.tsx | 2 +- .../simple/{ => __tests__}/index.spec.tsx | 2 +- .../base/radio/{ => __tests__}/index.spec.tsx | 4 ++-- .../base/radio/{ => __tests__}/ui.spec.tsx | 2 +- .../group/{ => __tests__}/index.spec.tsx | 4 ++-- .../radio/{ => __tests__}/index.spec.tsx | 4 ++-- .../context/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../select/{ => __tests__}/custom.spec.tsx | 4 ++-- .../select/{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/locale-signin.spec.tsx | 2 +- .../select/{ => __tests__}/locale.spec.tsx | 2 +- .../base/select/{ => __tests__}/pure.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 2 +- .../skeleton/{ => __tests__}/index.spec.tsx | 2 +- .../slider/{ => __tests__}/index.spec.tsx | 2 +- .../base/sort/{ => __tests__}/index.spec.tsx | 2 +- .../spinner/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../base/svg/{ => __tests__}/index.spec.tsx | 2 +- .../switch/{ => __tests__}/index.spec.tsx | 2 +- .../tab-header/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../tab-slider/{ => __tests__}/index.spec.tsx | 2 +- .../tag-input/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/filter.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/panel.spec.tsx | 4 ++-- .../{ => __tests__}/selector.spec.tsx | 5 +++-- .../{ => __tests__}/tag-item-editor.spec.tsx | 4 ++-- .../{ => __tests__}/tag-remove-modal.spec.tsx | 4 ++-- .../{ => __tests__}/trigger.spec.tsx | 2 +- .../base/tag/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/hooks.spec.ts | 2 +- .../textarea/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../base/toast/{ => __tests__}/index.spec.tsx | 2 +- .../tooltip/{ => __tests__}/content.spec.tsx | 2 +- .../tooltip/{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/VideoPlayer.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 2 +- .../{ => __tests__}/index.spec.tsx | 4 ++-- .../{ => __tests__}/index.spec.tsx | 6 +++--- .../zendesk/{ => __tests__}/index.spec.tsx | 2 +- 401 files changed, 820 insertions(+), 819 deletions(-) rename web/app/components/base/{ => __tests__}/alert.spec.tsx (99%) rename web/app/components/base/{ => __tests__}/app-unavailable.spec.tsx (98%) rename web/app/components/base/{ => __tests__}/badge.spec.tsx (99%) rename web/app/components/base/{ => __tests__}/theme-selector.spec.tsx (98%) rename web/app/components/base/{ => __tests__}/theme-switcher.spec.tsx (98%) rename web/app/components/base/action-button/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/agent-log-modal/{ => __tests__}/detail.spec.tsx (99%) rename web/app/components/base/agent-log-modal/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/agent-log-modal/{ => __tests__}/iteration.spec.tsx (98%) rename web/app/components/base/agent-log-modal/{ => __tests__}/result.spec.tsx (98%) rename web/app/components/base/agent-log-modal/{ => __tests__}/tool-call.spec.tsx (99%) rename web/app/components/base/agent-log-modal/{ => __tests__}/tracing.spec.tsx (97%) rename web/app/components/base/answer-icon/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/app-icon-picker/{ => __tests__}/ImageInput.spec.tsx (99%) rename web/app/components/base/app-icon-picker/{ => __tests__}/hooks.spec.tsx (98%) rename web/app/components/base/app-icon-picker/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/app-icon-picker/{ => __tests__}/utils.spec.ts (99%) rename web/app/components/base/app-icon/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/audio-btn/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/audio-gallery/{ => __tests__}/AudioPlayer.spec.tsx (99%) rename web/app/components/base/audio-gallery/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/auto-height-textarea/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/avatar/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/badge/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/block-input/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/button/{ => __tests__}/add-button.spec.tsx (97%) rename web/app/components/base/button/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/button/{ => __tests__}/sync-button.spec.tsx (97%) rename web/app/components/base/carousel/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/chat/chat-with-history/{ => __tests__}/chat-wrapper.spec.tsx (99%) rename web/app/components/base/chat/chat-with-history/{ => __tests__}/header-in-mobile.spec.tsx (98%) rename web/app/components/base/chat/chat-with-history/{ => __tests__}/hooks.spec.tsx (97%) rename web/app/components/base/chat/chat-with-history/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/chat/chat-with-history/header/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/chat/chat-with-history/header/{ => __tests__}/mobile-operation-dropdown.spec.tsx (97%) rename web/app/components/base/chat/chat-with-history/header/{ => __tests__}/operation.spec.tsx (98%) rename web/app/components/base/chat/chat-with-history/inputs-form/{ => __tests__}/content.spec.tsx (98%) rename web/app/components/base/chat/chat-with-history/inputs-form/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/chat/chat-with-history/inputs-form/{ => __tests__}/view-form-dropdown.spec.tsx (94%) rename web/app/components/base/chat/chat-with-history/sidebar/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/chat/chat-with-history/sidebar/{ => __tests__}/item.spec.tsx (99%) rename web/app/components/base/chat/chat-with-history/sidebar/{ => __tests__}/list.spec.tsx (96%) rename web/app/components/base/chat/chat-with-history/sidebar/{ => __tests__}/operation.spec.tsx (99%) rename web/app/components/base/chat/chat-with-history/sidebar/{ => __tests__}/rename-modal.spec.tsx (98%) rename web/app/components/base/chat/chat/{ => __tests__}/content-switch.spec.tsx (98%) rename web/app/components/base/chat/chat/{ => __tests__}/context.spec.tsx (94%) rename web/app/components/base/chat/chat/{ => __tests__}/hooks.multimodal.spec.ts (100%) rename web/app/components/base/chat/chat/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/chat/chat/{ => __tests__}/question.spec.tsx (97%) rename web/app/components/base/chat/chat/{ => __tests__}/try-to-ask.spec.tsx (97%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/agent-content.spec.tsx (97%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/basic-content.spec.tsx (97%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/human-input-filled-form-list.spec.tsx (96%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/human-input-form-list.spec.tsx (96%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/more.spec.tsx (98%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/operation.spec.tsx (99%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/suggested-questions.spec.tsx (93%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/tool-detail.spec.tsx (96%) rename web/app/components/base/chat/chat/answer/{ => __tests__}/workflow-process.spec.tsx (98%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/content-item.spec.tsx (98%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/content-wrapper.spec.tsx (97%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/executed-action.spec.tsx (94%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/expiration-time.spec.tsx (87%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/human-input-form.spec.tsx (98%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/submitted-content.spec.tsx (92%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/submitted.spec.tsx (95%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/tips.spec.tsx (98%) rename web/app/components/base/chat/chat/answer/human-input-content/{ => __tests__}/unsubmitted.spec.tsx (99%) rename web/app/components/base/chat/chat/chat-input-area/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/chat/chat/chat-input-area/{ => __tests__}/operation.spec.tsx (96%) rename web/app/components/base/chat/chat/citation/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/chat/chat/citation/{ => __tests__}/popup.spec.tsx (99%) rename web/app/components/base/chat/chat/citation/{ => __tests__}/progress-tooltip.spec.tsx (99%) rename web/app/components/base/chat/chat/citation/{ => __tests__}/tooltip.spec.tsx (99%) rename web/app/components/base/chat/chat/loading-anim/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/chat/chat/log/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/chat/chat/thought/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/chat/embedded-chatbot/{ => __tests__}/chat-wrapper.spec.tsx (97%) rename web/app/components/base/chat/embedded-chatbot/{ => __tests__}/hooks.spec.tsx (97%) rename web/app/components/base/chat/embedded-chatbot/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/chat/embedded-chatbot/header/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/chat/embedded-chatbot/inputs-form/{ => __tests__}/content.spec.tsx (98%) rename web/app/components/base/chat/embedded-chatbot/inputs-form/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/chat/embedded-chatbot/inputs-form/{ => __tests__}/view-form-dropdown.spec.tsx (95%) rename web/app/components/base/checkbox-list/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/checkbox/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/checkbox/assets/{ => __tests__}/indeterminate-icon.spec.tsx (90%) rename web/app/components/base/chip/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/confirm/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/content-dialog/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/copy-feedback/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/copy-icon/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/corner-label/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/date-and-time-picker/{ => __tests__}/hooks.spec.ts (97%) rename web/app/components/base/date-and-time-picker/calendar/{ => __tests__}/days-of-week.spec.tsx (93%) rename web/app/components/base/date-and-time-picker/calendar/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/date-and-time-picker/calendar/{ => __tests__}/item.spec.tsx (97%) rename web/app/components/base/date-and-time-picker/common/{ => __tests__}/option-list-item.spec.tsx (98%) rename web/app/components/base/date-and-time-picker/date-picker/{ => __tests__}/footer.spec.tsx (96%) rename web/app/components/base/date-and-time-picker/date-picker/{ => __tests__}/header.spec.tsx (95%) rename web/app/components/base/date-and-time-picker/date-picker/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/date-and-time-picker/time-picker/{ => __tests__}/footer.spec.tsx (94%) rename web/app/components/base/date-and-time-picker/time-picker/{ => __tests__}/header.spec.tsx (96%) rename web/app/components/base/date-and-time-picker/time-picker/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/date-and-time-picker/time-picker/{ => __tests__}/options.spec.tsx (96%) rename web/app/components/base/date-and-time-picker/utils/{ => __tests__}/dayjs-extended.spec.ts (99%) rename web/app/components/base/date-and-time-picker/utils/{ => __tests__}/dayjs.spec.ts (99%) rename web/app/components/base/date-and-time-picker/year-and-month-picker/{ => __tests__}/footer.spec.tsx (94%) rename web/app/components/base/date-and-time-picker/year-and-month-picker/{ => __tests__}/header.spec.tsx (92%) rename web/app/components/base/date-and-time-picker/year-and-month-picker/{ => __tests__}/options.spec.tsx (95%) rename web/app/components/base/dialog/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/divider/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/drawer-plus/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/drawer/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/dropdown/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/effect/{ => __tests__}/index.spec.tsx (91%) rename web/app/components/base/emoji-picker/{ => __tests__}/Inner.spec.tsx (99%) rename web/app/components/base/emoji-picker/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/encrypted-bottom/{ => __tests__}/index.spec.tsx (94%) rename web/app/components/base/error-boundary/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/features/{ => __tests__}/context.spec.tsx (96%) rename web/app/components/base/features/{ => __tests__}/hooks.spec.ts (92%) rename web/app/components/base/features/{ => __tests__}/store.spec.ts (99%) rename web/app/components/base/features/new-feature-panel/{ => __tests__}/citation.spec.tsx (90%) rename web/app/components/base/features/new-feature-panel/{ => __tests__}/dialog-wrapper.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/{ => __tests__}/feature-bar.spec.tsx (97%) rename web/app/components/base/features/new-feature-panel/{ => __tests__}/feature-card.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/{ => __tests__}/follow-up.spec.tsx (90%) rename web/app/components/base/features/new-feature-panel/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/{ => __tests__}/more-like-this.spec.tsx (91%) rename web/app/components/base/features/new-feature-panel/{ => __tests__}/speech-to-text.spec.tsx (89%) rename web/app/components/base/features/new-feature-panel/annotation-reply/{ => __tests__}/annotation-ctrl-button.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/annotation-reply/{ => __tests__}/config-param-modal.spec.tsx (99%) rename web/app/components/base/features/new-feature-panel/annotation-reply/{ => __tests__}/config-param.spec.tsx (96%) rename web/app/components/base/features/new-feature-panel/annotation-reply/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/annotation-reply/{ => __tests__}/type.spec.ts (83%) rename web/app/components/base/features/new-feature-panel/annotation-reply/{ => __tests__}/use-annotation-config.spec.ts (99%) rename web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/conversation-opener/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/features/new-feature-panel/conversation-opener/{ => __tests__}/modal.spec.tsx (99%) rename web/app/components/base/features/new-feature-panel/file-upload/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/features/new-feature-panel/file-upload/{ => __tests__}/setting-content.spec.tsx (97%) rename web/app/components/base/features/new-feature-panel/file-upload/{ => __tests__}/setting-modal.spec.tsx (96%) rename web/app/components/base/features/new-feature-panel/image-upload/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/features/new-feature-panel/moderation/{ => __tests__}/form-generation.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/moderation/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/moderation/{ => __tests__}/moderation-content.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/moderation/{ => __tests__}/moderation-setting-modal.spec.tsx (99%) rename web/app/components/base/features/new-feature-panel/text-to-speech/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/features/new-feature-panel/text-to-speech/{ => __tests__}/param-config-content.spec.tsx (98%) rename web/app/components/base/features/new-feature-panel/text-to-speech/{ => __tests__}/voice-settings.spec.tsx (95%) rename web/app/components/base/file-icon/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/file-thumb/{ => __tests__}/image-render.spec.tsx (92%) rename web/app/components/base/file-thumb/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/file-uploader/{ => __tests__}/audio-preview.spec.tsx (98%) rename web/app/components/base/file-uploader/{ => __tests__}/constants.spec.ts (99%) rename web/app/components/base/file-uploader/{ => __tests__}/file-image-render.spec.tsx (97%) rename web/app/components/base/file-uploader/{ => __tests__}/file-input.spec.tsx (97%) rename web/app/components/base/file-uploader/{ => __tests__}/file-list-in-log.spec.tsx (98%) rename web/app/components/base/file-uploader/{ => __tests__}/file-type-icon.spec.tsx (96%) rename web/app/components/base/file-uploader/{ => __tests__}/hooks.spec.ts (99%) rename web/app/components/base/file-uploader/{ => __tests__}/pdf-preview.spec.tsx (98%) rename web/app/components/base/file-uploader/{ => __tests__}/store.spec.tsx (98%) rename web/app/components/base/file-uploader/{ => __tests__}/utils.spec.ts (98%) rename web/app/components/base/file-uploader/{ => __tests__}/video-preview.spec.tsx (98%) rename web/app/components/base/file-uploader/file-from-link-or-local/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/file-uploader/file-uploader-in-attachment/{ => __tests__}/file-item.spec.tsx (99%) rename web/app/components/base/file-uploader/file-uploader-in-attachment/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/file-uploader/file-uploader-in-chat-input/{ => __tests__}/file-image-item.spec.tsx (99%) rename web/app/components/base/file-uploader/file-uploader-in-chat-input/{ => __tests__}/file-item.spec.tsx (98%) rename web/app/components/base/file-uploader/file-uploader-in-chat-input/{ => __tests__}/file-list.spec.tsx (95%) rename web/app/components/base/file-uploader/file-uploader-in-chat-input/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/float-right-container/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/form/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/form/{ => __tests__}/types.spec.ts (88%) rename web/app/components/base/form/components/{ => __tests__}/label.spec.tsx (98%) rename web/app/components/base/form/components/base/{ => __tests__}/base-field.spec.tsx (99%) rename web/app/components/base/form/components/base/{ => __tests__}/base-form.spec.tsx (98%) rename web/app/components/base/form/components/base/{ => __tests__}/index.spec.tsx (83%) rename web/app/components/base/form/components/field/{ => __tests__}/checkbox.spec.tsx (92%) rename web/app/components/base/form/components/field/{ => __tests__}/custom-select.spec.tsx (93%) rename web/app/components/base/form/components/field/{ => __tests__}/file-types.spec.tsx (98%) rename web/app/components/base/form/components/field/{ => __tests__}/file-uploader.spec.tsx (96%) rename web/app/components/base/form/components/field/{ => __tests__}/number-input.spec.tsx (90%) rename web/app/components/base/form/components/field/{ => __tests__}/number-slider.spec.tsx (93%) rename web/app/components/base/form/components/field/{ => __tests__}/options.spec.tsx (94%) rename web/app/components/base/form/components/field/{ => __tests__}/select.spec.tsx (94%) rename web/app/components/base/form/components/field/{ => __tests__}/text-area.spec.tsx (92%) rename web/app/components/base/form/components/field/{ => __tests__}/text.spec.tsx (92%) rename web/app/components/base/form/components/field/{ => __tests__}/upload-method.spec.tsx (95%) rename web/app/components/base/form/components/field/{ => __tests__}/variable-or-constant-input.spec.tsx (96%) rename web/app/components/base/form/components/field/{ => __tests__}/variable-selector.spec.tsx (94%) rename web/app/components/base/form/components/field/input-type-select/{ => __tests__}/hooks.spec.tsx (93%) rename web/app/components/base/form/components/field/input-type-select/{ => __tests__}/index.spec.tsx (93%) rename web/app/components/base/form/components/field/input-type-select/{ => __tests__}/option.spec.tsx (94%) rename web/app/components/base/form/components/field/input-type-select/{ => __tests__}/trigger.spec.tsx (95%) rename web/app/components/base/form/components/field/input-type-select/{ => __tests__}/types.spec.ts (89%) rename web/app/components/base/form/components/field/mixed-variable-text-input/{ => __tests__}/index.spec.tsx (93%) rename web/app/components/base/form/components/field/mixed-variable-text-input/{ => __tests__}/placeholder.spec.tsx (98%) rename web/app/components/base/form/components/form/{ => __tests__}/actions.spec.tsx (92%) rename web/app/components/base/form/form-scenarios/auth/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/form/form-scenarios/base/{ => __tests__}/field.spec.tsx (96%) rename web/app/components/base/form/form-scenarios/base/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/form/form-scenarios/base/{ => __tests__}/types.spec.ts (87%) rename web/app/components/base/form/form-scenarios/base/{ => __tests__}/utils.spec.ts (94%) rename web/app/components/base/form/form-scenarios/demo/{ => __tests__}/contact-fields.spec.tsx (83%) rename web/app/components/base/form/form-scenarios/demo/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/form/form-scenarios/demo/{ => __tests__}/shared-options.spec.tsx (86%) rename web/app/components/base/form/form-scenarios/demo/{ => __tests__}/types.spec.ts (94%) rename web/app/components/base/form/form-scenarios/input-field/{ => __tests__}/field.spec.tsx (96%) rename web/app/components/base/form/form-scenarios/input-field/{ => __tests__}/types.spec.ts (89%) rename web/app/components/base/form/form-scenarios/input-field/{ => __tests__}/utils.spec.ts (97%) rename web/app/components/base/form/form-scenarios/node-panel/{ => __tests__}/field.spec.tsx (96%) rename web/app/components/base/form/form-scenarios/node-panel/{ => __tests__}/types.spec.ts (81%) rename web/app/components/base/form/hooks/{ => __tests__}/index.spec.ts (57%) rename web/app/components/base/form/hooks/{ => __tests__}/use-check-validated.spec.ts (96%) rename web/app/components/base/form/hooks/{ => __tests__}/use-get-form-values.spec.ts (91%) rename web/app/components/base/form/hooks/{ => __tests__}/use-get-validators.spec.ts (96%) rename web/app/components/base/form/utils/{ => __tests__}/zod-submit-validator.spec.ts (94%) rename web/app/components/base/form/utils/secret-input/{ => __tests__}/index.spec.ts (95%) rename web/app/components/base/fullscreen-modal/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/ga/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/grid-mask/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/icons/{ => __tests__}/IconBase.spec.tsx (92%) rename web/app/components/base/icons/{ => __tests__}/utils.spec.ts (95%) rename web/app/components/base/image-gallery/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/image-uploader/{ => __tests__}/audio-preview.spec.tsx (98%) rename web/app/components/base/image-uploader/{ => __tests__}/chat-image-uploader.spec.tsx (98%) rename web/app/components/base/image-uploader/{ => __tests__}/hooks.spec.ts (99%) rename web/app/components/base/image-uploader/{ => __tests__}/image-link-input.spec.tsx (99%) rename web/app/components/base/image-uploader/{ => __tests__}/image-list.spec.tsx (99%) rename web/app/components/base/image-uploader/{ => __tests__}/image-preview.spec.tsx (99%) rename web/app/components/base/image-uploader/{ => __tests__}/text-generation-image-uploader.spec.tsx (98%) rename web/app/components/base/image-uploader/{ => __tests__}/uploader.spec.tsx (97%) rename web/app/components/base/image-uploader/{ => __tests__}/utils.spec.ts (98%) rename web/app/components/base/image-uploader/{ => __tests__}/video-preview.spec.tsx (98%) rename web/app/components/base/inline-delete-confirm/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/input-number/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/input-with-copy/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/input/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/linked-apps-panel/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/list-empty/{ => __tests__}/horizontal-line.spec.tsx (95%) rename web/app/components/base/list-empty/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/list-empty/{ => __tests__}/vertical-line.spec.tsx (96%) rename web/app/components/base/loading/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/logo/{ => __tests__}/dify-logo.spec.tsx (98%) rename web/app/components/base/logo/{ => __tests__}/logo-embedded-chat-avatar.spec.tsx (93%) rename web/app/components/base/logo/{ => __tests__}/logo-embedded-chat-header.spec.tsx (94%) rename web/app/components/base/logo/{ => __tests__}/logo-site.spec.tsx (94%) rename web/app/components/base/markdown-blocks/{ => __tests__}/audio-block.spec.tsx (98%) rename web/app/components/base/markdown-blocks/{ => __tests__}/button.spec.tsx (98%) rename web/app/components/base/markdown-blocks/{ => __tests__}/code-block.spec.tsx (99%) rename web/app/components/base/markdown-blocks/{ => __tests__}/form.spec.tsx (99%) rename web/app/components/base/markdown-blocks/{ => __tests__}/link.spec.tsx (98%) rename web/app/components/base/markdown-blocks/{ => __tests__}/music.spec.tsx (97%) rename web/app/components/base/markdown-blocks/{ => __tests__}/paragraph.spec.tsx (98%) rename web/app/components/base/markdown-blocks/{ => __tests__}/plugin-img.spec.tsx (97%) rename web/app/components/base/markdown-blocks/{ => __tests__}/plugin-paragraph.spec.tsx (97%) rename web/app/components/base/markdown-blocks/{ => __tests__}/pre-code.spec.tsx (98%) rename web/app/components/base/markdown-blocks/{ => __tests__}/script-block.spec.tsx (97%) rename web/app/components/base/markdown-blocks/{ => __tests__}/think-block.spec.tsx (99%) rename web/app/components/base/markdown-blocks/{ => __tests__}/video-block.spec.tsx (96%) rename web/app/components/base/markdown/{ => __tests__}/error-boundary.spec.tsx (96%) rename web/app/components/base/markdown/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/markdown/{ => __tests__}/markdown-utils.spec.ts (97%) rename web/app/components/base/markdown/{ => __tests__}/react-markdown-wrapper.spec.tsx (98%) rename web/app/components/base/mermaid/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/mermaid/{ => __tests__}/utils.spec.ts (99%) rename web/app/components/base/message-log-modal/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/modal-like-wrap/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/modal/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/modal/{ => __tests__}/modal.spec.tsx (99%) rename web/app/components/base/new-audio-button/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/node-status/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/notion-connector/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/notion-icon/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/notion-page-selector/{ => __tests__}/base.spec.tsx (98%) rename web/app/components/base/notion-page-selector/credential-selector/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/notion-page-selector/page-selector/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/notion-page-selector/search-input/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/pagination/{ => __tests__}/hook.spec.ts (99%) rename web/app/components/base/pagination/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/pagination/{ => __tests__}/pagination.spec.tsx (99%) rename web/app/components/base/param-item/{ => __tests__}/index-slider.spec.tsx (97%) rename web/app/components/base/param-item/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/param-item/{ => __tests__}/score-threshold-item.spec.tsx (98%) rename web/app/components/base/param-item/{ => __tests__}/top-k-item.spec.tsx (99%) rename web/app/components/base/popover/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/portal-to-follow-elem/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/premium-badge/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/progress-bar/{ => __tests__}/progress-circle.spec.tsx (98%) rename web/app/components/base/prompt-editor/{ => __tests__}/constants.spec.tsx (97%) rename web/app/components/base/prompt-editor/{ => __tests__}/hooks.spec.tsx (97%) rename web/app/components/base/prompt-editor/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/prompt-editor/{ => __tests__}/utils.spec.ts (98%) rename web/app/components/base/prompt-editor/plugins/{ => __tests__}/on-blur-or-focus-block.spec.tsx (97%) rename web/app/components/base/prompt-editor/plugins/{ => __tests__}/placeholder.spec.tsx (97%) rename web/app/components/base/prompt-editor/plugins/{ => __tests__}/tree-view.spec.tsx (95%) rename web/app/components/base/prompt-editor/plugins/{ => __tests__}/update-block.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/component-picker-block/{ => __tests__}/hooks.spec.tsx (99%) rename web/app/components/base/prompt-editor/plugins/component-picker-block/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/prompt-editor/plugins/component-picker-block/{ => __tests__}/menu.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/component-picker-block/{ => __tests__}/prompt-option.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/component-picker-block/{ => __tests__}/variable-option.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/context-block/{ => __tests__}/component.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/context-block/{ => __tests__}/context-block-replacement-block.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/context-block/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/context-block/{ => __tests__}/node.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/current-block/{ => __tests__}/component.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/current-block/{ => __tests__}/current-block-replacement-block.spec.tsx (93%) rename web/app/components/base/prompt-editor/plugins/current-block/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/current-block/{ => __tests__}/node.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/custom-text/{ => __tests__}/node.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/draggable-plugin/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/prompt-editor/plugins/error-message-block/{ => __tests__}/component.spec.tsx (95%) rename web/app/components/base/prompt-editor/plugins/error-message-block/{ => __tests__}/error-message-block-replacement-block.spec.tsx (93%) rename web/app/components/base/prompt-editor/plugins/error-message-block/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/error-message-block/{ => __tests__}/node.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/history-block/{ => __tests__}/component.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/history-block/{ => __tests__}/history-block-replacement-block.spec.tsx (91%) rename web/app/components/base/prompt-editor/plugins/history-block/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/prompt-editor/plugins/history-block/{ => __tests__}/node.spec.tsx (97%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/component.spec.tsx (97%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/hitl-input-block-replacement-block.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/input-field.spec.tsx (99%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/node.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/pre-populate.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/tag-label.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/type-switch.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/hitl-input-block/{ => __tests__}/variable-block.spec.tsx (95%) rename web/app/components/base/prompt-editor/plugins/last-run-block/{ => __tests__}/component.spec.tsx (93%) rename web/app/components/base/prompt-editor/plugins/last-run-block/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/last-run-block/{ => __tests__}/last-run-block-replacement-block.spec.tsx (91%) rename web/app/components/base/prompt-editor/plugins/last-run-block/{ => __tests__}/node.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/query-block/{ => __tests__}/component.spec.tsx (92%) rename web/app/components/base/prompt-editor/plugins/query-block/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/query-block/{ => __tests__}/node.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/query-block/{ => __tests__}/query-block-replacement-block.spec.tsx (91%) rename web/app/components/base/prompt-editor/plugins/request-url-block/{ => __tests__}/component.spec.tsx (92%) rename web/app/components/base/prompt-editor/plugins/request-url-block/{ => __tests__}/index.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/request-url-block/{ => __tests__}/node.spec.tsx (96%) rename web/app/components/base/prompt-editor/plugins/request-url-block/{ => __tests__}/request-url-block-replacement-block.spec.tsx (90%) rename web/app/components/base/prompt-editor/plugins/shortcuts-popup-plugin/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/prompt-editor/plugins/variable-block/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/prompt-editor/plugins/variable-value-block/{ => __tests__}/index.spec.tsx (94%) rename web/app/components/base/prompt-editor/plugins/variable-value-block/{ => __tests__}/node.spec.tsx (99%) rename web/app/components/base/prompt-editor/plugins/workflow-variable-block/{ => __tests__}/component.spec.tsx (98%) rename web/app/components/base/prompt-editor/plugins/workflow-variable-block/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/prompt-editor/plugins/workflow-variable-block/{ => __tests__}/node.spec.tsx (99%) rename web/app/components/base/prompt-editor/plugins/workflow-variable-block/{ => __tests__}/workflow-variable-block-replacement-block.spec.tsx (94%) rename web/app/components/base/prompt-log-modal/{ => __tests__}/card.spec.tsx (96%) rename web/app/components/base/prompt-log-modal/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/qrcode/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/radio-card/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/radio-card/simple/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/radio/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/radio/{ => __tests__}/ui.spec.tsx (98%) rename web/app/components/base/radio/component/group/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/radio/component/radio/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/radio/context/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/search-input/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/segmented-control/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/select/{ => __tests__}/custom.spec.tsx (98%) rename web/app/components/base/select/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/select/{ => __tests__}/locale-signin.spec.tsx (98%) rename web/app/components/base/select/{ => __tests__}/locale.spec.tsx (98%) rename web/app/components/base/select/{ => __tests__}/pure.spec.tsx (98%) rename web/app/components/base/simple-pie-chart/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/skeleton/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/slider/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/sort/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/spinner/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/svg-gallery/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/svg/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/switch/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/tab-header/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/tab-slider-new/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/tab-slider-plain/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/tab-slider/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/tag-input/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/tag-management/{ => __tests__}/filter.spec.tsx (99%) rename web/app/components/base/tag-management/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/tag-management/{ => __tests__}/panel.spec.tsx (99%) rename web/app/components/base/tag-management/{ => __tests__}/selector.spec.tsx (98%) rename web/app/components/base/tag-management/{ => __tests__}/tag-item-editor.spec.tsx (98%) rename web/app/components/base/tag-management/{ => __tests__}/tag-remove-modal.spec.tsx (97%) rename web/app/components/base/tag-management/{ => __tests__}/trigger.spec.tsx (98%) rename web/app/components/base/tag/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/text-generation/{ => __tests__}/hooks.spec.ts (99%) rename web/app/components/base/textarea/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/timezone-label/{ => __tests__}/index.spec.tsx (97%) rename web/app/components/base/toast/{ => __tests__}/index.spec.tsx (98%) rename web/app/components/base/tooltip/{ => __tests__}/content.spec.tsx (97%) rename web/app/components/base/tooltip/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/video-gallery/{ => __tests__}/VideoPlayer.spec.tsx (99%) rename web/app/components/base/video-gallery/{ => __tests__}/index.spec.tsx (95%) rename web/app/components/base/voice-input/{ => __tests__}/index.spec.tsx (99%) rename web/app/components/base/with-input-validation/{ => __tests__}/index.spec.tsx (85%) rename web/app/components/base/zendesk/{ => __tests__}/index.spec.tsx (99%) diff --git a/web/app/components/base/alert.spec.tsx b/web/app/components/base/__tests__/alert.spec.tsx similarity index 99% rename from web/app/components/base/alert.spec.tsx rename to web/app/components/base/__tests__/alert.spec.tsx index 1ad52ea201..10c1a6bbfa 100644 --- a/web/app/components/base/alert.spec.tsx +++ b/web/app/components/base/__tests__/alert.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import Alert from './alert' +import Alert from '../alert' describe('Alert', () => { const defaultProps = { diff --git a/web/app/components/base/app-unavailable.spec.tsx b/web/app/components/base/__tests__/app-unavailable.spec.tsx similarity index 98% rename from web/app/components/base/app-unavailable.spec.tsx rename to web/app/components/base/__tests__/app-unavailable.spec.tsx index 27fb359781..cce3240d20 100644 --- a/web/app/components/base/app-unavailable.spec.tsx +++ b/web/app/components/base/__tests__/app-unavailable.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import AppUnavailable from './app-unavailable' +import AppUnavailable from '../app-unavailable' describe('AppUnavailable', () => { beforeEach(() => { diff --git a/web/app/components/base/badge.spec.tsx b/web/app/components/base/__tests__/badge.spec.tsx similarity index 99% rename from web/app/components/base/badge.spec.tsx rename to web/app/components/base/__tests__/badge.spec.tsx index 5ca5cfe789..8da348ec90 100644 --- a/web/app/components/base/badge.spec.tsx +++ b/web/app/components/base/__tests__/badge.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import Badge from './badge' +import Badge from '../badge' describe('Badge', () => { describe('Rendering', () => { diff --git a/web/app/components/base/theme-selector.spec.tsx b/web/app/components/base/__tests__/theme-selector.spec.tsx similarity index 98% rename from web/app/components/base/theme-selector.spec.tsx rename to web/app/components/base/__tests__/theme-selector.spec.tsx index 8cd0028acf..1286ee73be 100644 --- a/web/app/components/base/theme-selector.spec.tsx +++ b/web/app/components/base/__tests__/theme-selector.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import ThemeSelector from './theme-selector' +import ThemeSelector from '../theme-selector' // Mock next-themes with controllable state let mockTheme = 'system' diff --git a/web/app/components/base/theme-switcher.spec.tsx b/web/app/components/base/__tests__/theme-switcher.spec.tsx similarity index 98% rename from web/app/components/base/theme-switcher.spec.tsx rename to web/app/components/base/__tests__/theme-switcher.spec.tsx index e19fbd3835..d8ed427d95 100644 --- a/web/app/components/base/theme-switcher.spec.tsx +++ b/web/app/components/base/__tests__/theme-switcher.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import ThemeSwitcher from './theme-switcher' +import ThemeSwitcher from '../theme-switcher' let mockTheme = 'system' const mockSetTheme = vi.fn() diff --git a/web/app/components/base/action-button/index.spec.tsx b/web/app/components/base/action-button/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/action-button/index.spec.tsx rename to web/app/components/base/action-button/__tests__/index.spec.tsx index 839cd9dcc3..949a980272 100644 --- a/web/app/components/base/action-button/index.spec.tsx +++ b/web/app/components/base/action-button/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import { ActionButton, ActionButtonState } from './index' +import { ActionButton, ActionButtonState } from '../index' describe('ActionButton', () => { it('renders button with default props', () => { diff --git a/web/app/components/base/agent-log-modal/detail.spec.tsx b/web/app/components/base/agent-log-modal/__tests__/detail.spec.tsx similarity index 99% rename from web/app/components/base/agent-log-modal/detail.spec.tsx rename to web/app/components/base/agent-log-modal/__tests__/detail.spec.tsx index dd663ac892..c77f144da2 100644 --- a/web/app/components/base/agent-log-modal/detail.spec.tsx +++ b/web/app/components/base/agent-log-modal/__tests__/detail.spec.tsx @@ -4,7 +4,7 @@ import type { AgentLogDetailResponse } from '@/models/log' import { fireEvent, render, screen, waitFor } from '@testing-library/react' import { ToastContext } from '@/app/components/base/toast' import { fetchAgentLogDetail } from '@/service/log' -import AgentLogDetail from './detail' +import AgentLogDetail from '../detail' vi.mock('@/service/log', () => ({ fetchAgentLogDetail: vi.fn(), diff --git a/web/app/components/base/agent-log-modal/index.spec.tsx b/web/app/components/base/agent-log-modal/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/agent-log-modal/index.spec.tsx rename to web/app/components/base/agent-log-modal/__tests__/index.spec.tsx index 17c9bc8cf1..6b59e90c77 100644 --- a/web/app/components/base/agent-log-modal/index.spec.tsx +++ b/web/app/components/base/agent-log-modal/__tests__/index.spec.tsx @@ -3,7 +3,7 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' import { useClickAway } from 'ahooks' import { ToastContext } from '@/app/components/base/toast' import { fetchAgentLogDetail } from '@/service/log' -import AgentLogModal from './index' +import AgentLogModal from '../index' vi.mock('@/service/log', () => ({ fetchAgentLogDetail: vi.fn(), diff --git a/web/app/components/base/agent-log-modal/iteration.spec.tsx b/web/app/components/base/agent-log-modal/__tests__/iteration.spec.tsx similarity index 98% rename from web/app/components/base/agent-log-modal/iteration.spec.tsx rename to web/app/components/base/agent-log-modal/__tests__/iteration.spec.tsx index 15d5b815fb..8266d2f460 100644 --- a/web/app/components/base/agent-log-modal/iteration.spec.tsx +++ b/web/app/components/base/agent-log-modal/__tests__/iteration.spec.tsx @@ -1,6 +1,6 @@ import type { AgentIteration } from '@/models/log' import { render, screen } from '@testing-library/react' -import Iteration from './iteration' +import Iteration from '../iteration' vi.mock('@/app/components/workflow/nodes/_base/components/editor/code-editor', () => ({ default: ({ title, value }: { title: React.ReactNode, value: string | object }) => ( diff --git a/web/app/components/base/agent-log-modal/result.spec.tsx b/web/app/components/base/agent-log-modal/__tests__/result.spec.tsx similarity index 98% rename from web/app/components/base/agent-log-modal/result.spec.tsx rename to web/app/components/base/agent-log-modal/__tests__/result.spec.tsx index 846d433cab..6fcf4c1859 100644 --- a/web/app/components/base/agent-log-modal/result.spec.tsx +++ b/web/app/components/base/agent-log-modal/__tests__/result.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import * as React from 'react' -import ResultPanel from './result' +import ResultPanel from '../result' vi.mock('@/app/components/workflow/nodes/_base/components/editor/code-editor', () => ({ default: ({ title, value }: { title: React.ReactNode, value: string | object }) => ( diff --git a/web/app/components/base/agent-log-modal/tool-call.spec.tsx b/web/app/components/base/agent-log-modal/__tests__/tool-call.spec.tsx similarity index 99% rename from web/app/components/base/agent-log-modal/tool-call.spec.tsx rename to web/app/components/base/agent-log-modal/__tests__/tool-call.spec.tsx index 496049a8a8..a5d6aa8d81 100644 --- a/web/app/components/base/agent-log-modal/tool-call.spec.tsx +++ b/web/app/components/base/agent-log-modal/__tests__/tool-call.spec.tsx @@ -2,7 +2,7 @@ import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' import { describe, expect, it, vi } from 'vitest' import { BlockEnum } from '@/app/components/workflow/types' -import ToolCallItem from './tool-call' +import ToolCallItem from '../tool-call' vi.mock('@/app/components/workflow/nodes/_base/components/editor/code-editor', () => ({ default: ({ title, value }: { title: React.ReactNode, value: string | object }) => ( diff --git a/web/app/components/base/agent-log-modal/tracing.spec.tsx b/web/app/components/base/agent-log-modal/__tests__/tracing.spec.tsx similarity index 97% rename from web/app/components/base/agent-log-modal/tracing.spec.tsx rename to web/app/components/base/agent-log-modal/__tests__/tracing.spec.tsx index e0f4a81f99..0e2bb38476 100644 --- a/web/app/components/base/agent-log-modal/tracing.spec.tsx +++ b/web/app/components/base/agent-log-modal/__tests__/tracing.spec.tsx @@ -1,7 +1,7 @@ import type { AgentIteration } from '@/models/log' import { render, screen } from '@testing-library/react' import { describe, expect, it, vi } from 'vitest' -import TracingPanel from './tracing' +import TracingPanel from '../tracing' vi.mock('@/app/components/workflow/block-icon', () => ({ default: () =>
, diff --git a/web/app/components/base/answer-icon/index.spec.tsx b/web/app/components/base/answer-icon/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/answer-icon/index.spec.tsx rename to web/app/components/base/answer-icon/__tests__/index.spec.tsx index 72573fca5b..5bfb672202 100644 --- a/web/app/components/base/answer-icon/index.spec.tsx +++ b/web/app/components/base/answer-icon/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import AnswerIcon from '.' +import AnswerIcon from '..' describe('AnswerIcon', () => { it('renders default emoji when no icon or image is provided', () => { diff --git a/web/app/components/base/app-icon-picker/ImageInput.spec.tsx b/web/app/components/base/app-icon-picker/__tests__/ImageInput.spec.tsx similarity index 99% rename from web/app/components/base/app-icon-picker/ImageInput.spec.tsx rename to web/app/components/base/app-icon-picker/__tests__/ImageInput.spec.tsx index 8e0476823a..19825b4a1c 100644 --- a/web/app/components/base/app-icon-picker/ImageInput.spec.tsx +++ b/web/app/components/base/app-icon-picker/__tests__/ImageInput.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import ImageInput from './ImageInput' +import ImageInput from '../ImageInput' const createObjectURLMock = vi.fn(() => 'blob:mock-url') const revokeObjectURLMock = vi.fn() diff --git a/web/app/components/base/app-icon-picker/hooks.spec.tsx b/web/app/components/base/app-icon-picker/__tests__/hooks.spec.tsx similarity index 98% rename from web/app/components/base/app-icon-picker/hooks.spec.tsx rename to web/app/components/base/app-icon-picker/__tests__/hooks.spec.tsx index 58741a3ecf..e2aa203d23 100644 --- a/web/app/components/base/app-icon-picker/hooks.spec.tsx +++ b/web/app/components/base/app-icon-picker/__tests__/hooks.spec.tsx @@ -1,5 +1,5 @@ import { act, renderHook } from '@testing-library/react' -import { useDraggableUploader } from './hooks' +import { useDraggableUploader } from '../hooks' type MockDragEventOverrides = { dataTransfer?: { files: File[] } diff --git a/web/app/components/base/app-icon-picker/index.spec.tsx b/web/app/components/base/app-icon-picker/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/app-icon-picker/index.spec.tsx rename to web/app/components/base/app-icon-picker/__tests__/index.spec.tsx index 63d447e289..8334512047 100644 --- a/web/app/components/base/app-icon-picker/index.spec.tsx +++ b/web/app/components/base/app-icon-picker/__tests__/index.spec.tsx @@ -3,7 +3,7 @@ import type { ImageFile } from '@/types/app' import { fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { TransferMethod } from '@/types/app' -import AppIconPicker from './index' +import AppIconPicker from '../index' import 'vitest-canvas-mock' type LocalFileUploaderOptions = { @@ -93,7 +93,7 @@ vi.mock('react-easy-crop', () => ({ ), })) -vi.mock('../image-uploader/hooks', () => ({ +vi.mock('../../image-uploader/hooks', () => ({ useLocalFileUploader: (options: LocalFileUploaderOptions) => { mocks.onUpload = options.onUpload return { handleLocalFileUpload: mocks.handleLocalFileUpload } diff --git a/web/app/components/base/app-icon-picker/utils.spec.ts b/web/app/components/base/app-icon-picker/__tests__/utils.spec.ts similarity index 99% rename from web/app/components/base/app-icon-picker/utils.spec.ts rename to web/app/components/base/app-icon-picker/__tests__/utils.spec.ts index 778d384910..6b706417cf 100644 --- a/web/app/components/base/app-icon-picker/utils.spec.ts +++ b/web/app/components/base/app-icon-picker/__tests__/utils.spec.ts @@ -1,4 +1,4 @@ -import getCroppedImg, { checkIsAnimatedImage, createImage, getMimeType, getRadianAngle, rotateSize } from './utils' +import getCroppedImg, { checkIsAnimatedImage, createImage, getMimeType, getRadianAngle, rotateSize } from '../utils' type ImageLoadEventType = 'load' | 'error' diff --git a/web/app/components/base/app-icon/index.spec.tsx b/web/app/components/base/app-icon/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/app-icon/index.spec.tsx rename to web/app/components/base/app-icon/__tests__/index.spec.tsx index a4895332cd..de59780d7a 100644 --- a/web/app/components/base/app-icon/index.spec.tsx +++ b/web/app/components/base/app-icon/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import AppIcon from './index' +import AppIcon from '../index' // Mock emoji-mart initialization vi.mock('emoji-mart', () => ({ diff --git a/web/app/components/base/audio-btn/index.spec.tsx b/web/app/components/base/audio-btn/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/audio-btn/index.spec.tsx rename to web/app/components/base/audio-btn/__tests__/index.spec.tsx index 5b30f5f737..c8d8ee851b 100644 --- a/web/app/components/base/audio-btn/index.spec.tsx +++ b/web/app/components/base/audio-btn/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import { act, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import i18next from 'i18next' import { useParams, usePathname } from 'next/navigation' -import AudioBtn from './index' +import AudioBtn from '../index' const mockPlayAudio = vi.fn() const mockPauseAudio = vi.fn() diff --git a/web/app/components/base/audio-gallery/AudioPlayer.spec.tsx b/web/app/components/base/audio-gallery/__tests__/AudioPlayer.spec.tsx similarity index 99% rename from web/app/components/base/audio-gallery/AudioPlayer.spec.tsx rename to web/app/components/base/audio-gallery/__tests__/AudioPlayer.spec.tsx index fca106867e..cd4371db2c 100644 --- a/web/app/components/base/audio-gallery/AudioPlayer.spec.tsx +++ b/web/app/components/base/audio-gallery/__tests__/AudioPlayer.spec.tsx @@ -4,7 +4,7 @@ import { vi } from 'vitest' import useThemeMock from '@/hooks/use-theme' import { Theme } from '@/types/app' -import AudioPlayer from './AudioPlayer' +import AudioPlayer from '../AudioPlayer' vi.mock('@/hooks/use-theme', () => ({ default: vi.fn(() => ({ theme: 'light' })), diff --git a/web/app/components/base/audio-gallery/index.spec.tsx b/web/app/components/base/audio-gallery/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/audio-gallery/index.spec.tsx rename to web/app/components/base/audio-gallery/__tests__/index.spec.tsx index 9039d4995c..51d707a06e 100644 --- a/web/app/components/base/audio-gallery/index.spec.tsx +++ b/web/app/components/base/audio-gallery/__tests__/index.spec.tsx @@ -3,12 +3,12 @@ import * as React from 'react' // AudioGallery.spec.tsx import { describe, expect, it, vi } from 'vitest' -import AudioGallery from './index' +import AudioGallery from '../index' // Mock AudioPlayer so we only assert prop forwarding const audioPlayerMock = vi.fn() -vi.mock('./AudioPlayer', () => ({ +vi.mock('../AudioPlayer', () => ({ default: (props: { srcs: string[] }) => { audioPlayerMock(props) return
diff --git a/web/app/components/base/auto-height-textarea/index.spec.tsx b/web/app/components/base/auto-height-textarea/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/auto-height-textarea/index.spec.tsx rename to web/app/components/base/auto-height-textarea/__tests__/index.spec.tsx index f6ac0670df..08828d4752 100644 --- a/web/app/components/base/auto-height-textarea/index.spec.tsx +++ b/web/app/components/base/auto-height-textarea/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' import { sleep } from '@/utils' -import AutoHeightTextarea from './index' +import AutoHeightTextarea from '../index' vi.mock('@/utils', async () => { const actual = await vi.importActual('@/utils') diff --git a/web/app/components/base/avatar/index.spec.tsx b/web/app/components/base/avatar/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/avatar/index.spec.tsx rename to web/app/components/base/avatar/__tests__/index.spec.tsx index e85690880b..5fad1d0a90 100644 --- a/web/app/components/base/avatar/index.spec.tsx +++ b/web/app/components/base/avatar/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import Avatar from './index' +import Avatar from '../index' describe('Avatar', () => { beforeEach(() => { diff --git a/web/app/components/base/badge/index.spec.tsx b/web/app/components/base/badge/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/badge/index.spec.tsx rename to web/app/components/base/badge/__tests__/index.spec.tsx index 74162841cf..49e8bf4037 100644 --- a/web/app/components/base/badge/index.spec.tsx +++ b/web/app/components/base/badge/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import Badge, { BadgeState, BadgeVariants } from './index' +import Badge, { BadgeState, BadgeVariants } from '../index' describe('Badge', () => { describe('Rendering', () => { diff --git a/web/app/components/base/block-input/index.spec.tsx b/web/app/components/base/block-input/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/block-input/index.spec.tsx rename to web/app/components/base/block-input/__tests__/index.spec.tsx index 8d8729287d..3e1a6a9b90 100644 --- a/web/app/components/base/block-input/index.spec.tsx +++ b/web/app/components/base/block-input/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react' import * as React from 'react' import Toast from '@/app/components/base/toast' -import BlockInput, { getInputKeys } from './index' +import BlockInput, { getInputKeys } from '../index' vi.mock('@/utils/var', () => ({ checkKeys: vi.fn((_keys: string[]) => ({ diff --git a/web/app/components/base/button/add-button.spec.tsx b/web/app/components/base/button/__tests__/add-button.spec.tsx similarity index 97% rename from web/app/components/base/button/add-button.spec.tsx rename to web/app/components/base/button/__tests__/add-button.spec.tsx index ad27753211..1ad999ec49 100644 --- a/web/app/components/base/button/add-button.spec.tsx +++ b/web/app/components/base/button/__tests__/add-button.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import AddButton from './add-button' +import AddButton from '../add-button' describe('AddButton', () => { describe('Rendering', () => { diff --git a/web/app/components/base/button/index.spec.tsx b/web/app/components/base/button/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/button/index.spec.tsx rename to web/app/components/base/button/__tests__/index.spec.tsx index 0377fa334f..b43ae89403 100644 --- a/web/app/components/base/button/index.spec.tsx +++ b/web/app/components/base/button/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { cleanup, fireEvent, render } from '@testing-library/react' import * as React from 'react' -import Button from './index' +import Button from '../index' afterEach(cleanup) // https://testing-library.com/docs/queries/about diff --git a/web/app/components/base/button/sync-button.spec.tsx b/web/app/components/base/button/__tests__/sync-button.spec.tsx similarity index 97% rename from web/app/components/base/button/sync-button.spec.tsx rename to web/app/components/base/button/__tests__/sync-button.spec.tsx index 116aaaa7b0..c86a3c4314 100644 --- a/web/app/components/base/button/sync-button.spec.tsx +++ b/web/app/components/base/button/__tests__/sync-button.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import SyncButton from './sync-button' +import SyncButton from '../sync-button' describe('SyncButton', () => { describe('Rendering', () => { diff --git a/web/app/components/base/carousel/index.spec.tsx b/web/app/components/base/carousel/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/carousel/index.spec.tsx rename to web/app/components/base/carousel/__tests__/index.spec.tsx index 6bce414ee7..a10d25d016 100644 --- a/web/app/components/base/carousel/index.spec.tsx +++ b/web/app/components/base/carousel/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import type { Mock } from 'vitest' import { act, fireEvent, render, screen } from '@testing-library/react' import useEmblaCarousel from 'embla-carousel-react' -import { Carousel, useCarousel } from './index' +import { Carousel, useCarousel } from '../index' vi.mock('embla-carousel-react', () => ({ default: vi.fn(), diff --git a/web/app/components/base/chat/chat-with-history/chat-wrapper.spec.tsx b/web/app/components/base/chat/chat-with-history/__tests__/chat-wrapper.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat-with-history/chat-wrapper.spec.tsx rename to web/app/components/base/chat/chat-with-history/__tests__/chat-wrapper.spec.tsx index 22d450b82d..bcaab17fef 100644 --- a/web/app/components/base/chat/chat-with-history/chat-wrapper.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/__tests__/chat-wrapper.spec.tsx @@ -1,5 +1,5 @@ -import type { ChatConfig, ChatItemInTree } from '../types' -import type { ChatWithHistoryContextValue } from './context' +import type { ChatConfig, ChatItemInTree } from '../../types' +import type { ChatWithHistoryContextValue } from '../context' import type { FileEntity } from '@/app/components/base/file-uploader/types' import type { AppData, AppMeta, ConversationItem } from '@/models/share' import type { HumanInputFormData } from '@/types/workflow' @@ -12,17 +12,17 @@ import { stopChatMessageResponding, } from '@/service/share' import { TransferMethod } from '@/types/app' -import { useChat } from '../chat/hooks' +import { useChat } from '../../chat/hooks' -import { isValidGeneratedAnswer } from '../utils' -import ChatWrapper from './chat-wrapper' -import { useChatWithHistoryContext } from './context' +import { isValidGeneratedAnswer } from '../../utils' +import ChatWrapper from '../chat-wrapper' +import { useChatWithHistoryContext } from '../context' -vi.mock('../chat/hooks', () => ({ +vi.mock('../../chat/hooks', () => ({ useChat: vi.fn(), })) -vi.mock('./context', () => ({ +vi.mock('../context', () => ({ useChatWithHistoryContext: vi.fn(), })) @@ -37,7 +37,7 @@ vi.mock('next/navigation', () => ({ useParams: vi.fn(() => ({ token: 'test-token' })), })) -vi.mock('../utils', () => ({ +vi.mock('../../utils', () => ({ isValidGeneratedAnswer: vi.fn(), getLastAnswer: vi.fn(), })) diff --git a/web/app/components/base/chat/chat-with-history/header-in-mobile.spec.tsx b/web/app/components/base/chat/chat-with-history/__tests__/header-in-mobile.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat-with-history/header-in-mobile.spec.tsx rename to web/app/components/base/chat/chat-with-history/__tests__/header-in-mobile.spec.tsx index 6addaf30a8..5f14128742 100644 --- a/web/app/components/base/chat/chat-with-history/header-in-mobile.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/__tests__/header-in-mobile.spec.tsx @@ -1,12 +1,12 @@ -import type { ChatConfig } from '../types' -import type { ChatWithHistoryContextValue } from './context' +import type { ChatConfig } from '../../types' +import type { ChatWithHistoryContextValue } from '../context' import type { AppData, AppMeta, ConversationItem } from '@/models/share' import { fireEvent, render, screen, waitFor } from '@testing-library/react' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' -import { useChatWithHistoryContext } from './context' -import HeaderInMobile from './header-in-mobile' +import { useChatWithHistoryContext } from '../context' +import HeaderInMobile from '../header-in-mobile' vi.mock('@/hooks/use-breakpoints', () => ({ default: vi.fn(), @@ -17,7 +17,7 @@ vi.mock('@/hooks/use-breakpoints', () => ({ }, })) -vi.mock('./context', () => ({ +vi.mock('../context', () => ({ useChatWithHistoryContext: vi.fn(), ChatWithHistoryContext: { Provider: ({ children }: { children: React.ReactNode }) =>
{children}
}, })) @@ -33,7 +33,7 @@ vi.mock('next/navigation', () => ({ useParams: vi.fn(() => ({})), })) -vi.mock('../embedded-chatbot/theme/theme-context', () => ({ +vi.mock('../../embedded-chatbot/theme/theme-context', () => ({ useThemeContext: vi.fn(() => ({ buildTheme: vi.fn(), })), diff --git a/web/app/components/base/chat/chat-with-history/hooks.spec.tsx b/web/app/components/base/chat/chat-with-history/__tests__/hooks.spec.tsx similarity index 97% rename from web/app/components/base/chat/chat-with-history/hooks.spec.tsx rename to web/app/components/base/chat/chat-with-history/__tests__/hooks.spec.tsx index 399f16716d..711c3c88f9 100644 --- a/web/app/components/base/chat/chat-with-history/hooks.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/__tests__/hooks.spec.tsx @@ -1,5 +1,5 @@ import type { ReactNode } from 'react' -import type { ChatConfig } from '../types' +import type { ChatConfig } from '../../types' import type { AppConversationData, AppData, AppMeta, ConversationItem } from '@/models/share' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { act, renderHook, waitFor } from '@testing-library/react' @@ -11,8 +11,8 @@ import { generationConversationName, } from '@/service/share' import { shareQueryKeys } from '@/service/use-share' -import { CONVERSATION_ID_INFO } from '../constants' -import { useChatWithHistory } from './hooks' +import { CONVERSATION_ID_INFO } from '../../constants' +import { useChatWithHistory } from '../hooks' vi.mock('@/hooks/use-app-favicon', () => ({ useAppFavicon: vi.fn(), @@ -40,8 +40,8 @@ vi.mock('@/context/web-app-context', () => ({ useWebAppStore: (selector?: (state: typeof mockStoreState) => unknown) => useWebAppStoreMock(selector), })) -vi.mock('../utils', async () => { - const actual = await vi.importActual('../utils') +vi.mock('../../utils', async () => { + const actual = await vi.importActual('../../utils') return { ...actual, getProcessedSystemVariablesFromUrlParams: vi.fn().mockResolvedValue({ user_id: 'user-1' }), diff --git a/web/app/components/base/chat/chat-with-history/index.spec.tsx b/web/app/components/base/chat/chat-with-history/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/chat/chat-with-history/index.spec.tsx rename to web/app/components/base/chat/chat-with-history/__tests__/index.spec.tsx index a02d05b427..452639f4b7 100644 --- a/web/app/components/base/chat/chat-with-history/index.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import type { RefObject } from 'react' -import type { ChatConfig } from '../types' +import type { ChatConfig } from '../../types' import type { InstalledApp } from '@/models/explore' import type { AppConversationData, AppData, AppMeta, ConversationItem } from '@/models/share' import { fireEvent, render, screen } from '@testing-library/react' @@ -7,11 +7,11 @@ import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' import useDocumentTitle from '@/hooks/use-document-title' -import { useChatWithHistory } from './hooks' -import ChatWithHistory from './index' +import { useChatWithHistory } from '../hooks' +import ChatWithHistory from '../index' // --- Mocks --- -vi.mock('./hooks', () => ({ +vi.mock('../hooks', () => ({ useChatWithHistory: vi.fn(), })) @@ -40,7 +40,7 @@ vi.mock('next/navigation', () => ({ })) const mockBuildTheme = vi.fn() -vi.mock('../embedded-chatbot/theme/theme-context', () => ({ +vi.mock('../../embedded-chatbot/theme/theme-context', () => ({ useThemeContext: vi.fn(() => ({ buildTheme: mockBuildTheme, })), diff --git a/web/app/components/base/chat/chat-with-history/header/index.spec.tsx b/web/app/components/base/chat/chat-with-history/header/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat-with-history/header/index.spec.tsx rename to web/app/components/base/chat/chat-with-history/header/__tests__/index.spec.tsx index 8ed5c96f61..2b428ac32f 100644 --- a/web/app/components/base/chat/chat-with-history/header/index.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/header/__tests__/index.spec.tsx @@ -1,13 +1,13 @@ -import type { ChatWithHistoryContextValue } from '../context' +import type { ChatWithHistoryContextValue } from '../../context' import type { AppData, ConversationItem } from '@/models/share' import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { useChatWithHistoryContext } from '../context' -import Header from './index' +import { useChatWithHistoryContext } from '../../context' +import Header from '../index' // Mock context module -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useChatWithHistoryContext: vi.fn(), })) diff --git a/web/app/components/base/chat/chat-with-history/header/mobile-operation-dropdown.spec.tsx b/web/app/components/base/chat/chat-with-history/header/__tests__/mobile-operation-dropdown.spec.tsx similarity index 97% rename from web/app/components/base/chat/chat-with-history/header/mobile-operation-dropdown.spec.tsx rename to web/app/components/base/chat/chat-with-history/header/__tests__/mobile-operation-dropdown.spec.tsx index 594b1353c9..295bebecac 100644 --- a/web/app/components/base/chat/chat-with-history/header/mobile-operation-dropdown.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/header/__tests__/mobile-operation-dropdown.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import MobileOperationDropdown from './mobile-operation-dropdown' +import MobileOperationDropdown from '../mobile-operation-dropdown' describe('MobileOperationDropdown Component', () => { const defaultProps = { diff --git a/web/app/components/base/chat/chat-with-history/header/operation.spec.tsx b/web/app/components/base/chat/chat-with-history/header/__tests__/operation.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat-with-history/header/operation.spec.tsx rename to web/app/components/base/chat/chat-with-history/header/__tests__/operation.spec.tsx index 0c37b0d2fd..454f20066e 100644 --- a/web/app/components/base/chat/chat-with-history/header/operation.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/header/__tests__/operation.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import Operation from './operation' +import Operation from '../operation' describe('Operation Component', () => { const defaultProps = { diff --git a/web/app/components/base/chat/chat-with-history/inputs-form/content.spec.tsx b/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/content.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat-with-history/inputs-form/content.spec.tsx rename to web/app/components/base/chat/chat-with-history/inputs-form/__tests__/content.spec.tsx index 9d55e6df10..c1a0f3e294 100644 --- a/web/app/components/base/chat/chat-with-history/inputs-form/content.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/content.spec.tsx @@ -1,10 +1,10 @@ -import type { ChatWithHistoryContextValue } from '../context' +import type { ChatWithHistoryContextValue } from '../../context' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' import { InputVarType } from '@/app/components/workflow/types' -import InputsFormContent from './content' +import InputsFormContent from '../content' // Keep lightweight mocks for non-base project components vi.mock('@/app/components/workflow/nodes/_base/components/before-run-form/bool-input', () => ({ @@ -90,7 +90,7 @@ const createMockContext = (overrides: Partial = {}) // Create a real context for testing to support controlled component behavior const MockContext = React.createContext(createMockContext()) -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useChatWithHistoryContext: () => React.useContext(MockContext), })) diff --git a/web/app/components/base/chat/chat-with-history/inputs-form/index.spec.tsx b/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/chat/chat-with-history/inputs-form/index.spec.tsx rename to web/app/components/base/chat/chat-with-history/inputs-form/__tests__/index.spec.tsx index 90deb4e02d..0ba41afd8a 100644 --- a/web/app/components/base/chat/chat-with-history/inputs-form/index.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/index.spec.tsx @@ -1,11 +1,11 @@ -import type { ChatWithHistoryContextValue } from '../context' +import type { ChatWithHistoryContextValue } from '../../context' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' import { InputVarType } from '@/app/components/workflow/types' -import { useChatWithHistoryContext } from '../context' -import InputsFormNode from './index' +import { useChatWithHistoryContext } from '../../context' +import InputsFormNode from '../index' // Mocks for components used by InputsFormContent (the real sibling) vi.mock('@/app/components/workflow/nodes/_base/components/before-run-form/bool-input', () => ({ @@ -31,7 +31,7 @@ vi.mock('@/app/components/base/file-uploader', () => ({ ), })) -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useChatWithHistoryContext: vi.fn(), })) diff --git a/web/app/components/base/chat/chat-with-history/inputs-form/view-form-dropdown.spec.tsx b/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/view-form-dropdown.spec.tsx similarity index 94% rename from web/app/components/base/chat/chat-with-history/inputs-form/view-form-dropdown.spec.tsx rename to web/app/components/base/chat/chat-with-history/inputs-form/__tests__/view-form-dropdown.spec.tsx index 517828003d..64d3e67b8f 100644 --- a/web/app/components/base/chat/chat-with-history/inputs-form/view-form-dropdown.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/view-form-dropdown.spec.tsx @@ -1,11 +1,11 @@ -import type { ChatWithHistoryContextValue } from '../context' +import type { ChatWithHistoryContextValue } from '../../context' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' import { InputVarType } from '@/app/components/workflow/types' -import { useChatWithHistoryContext } from '../context' -import ViewFormDropdown from './view-form-dropdown' +import { useChatWithHistoryContext } from '../../context' +import ViewFormDropdown from '../view-form-dropdown' // Mocks for components used by InputsFormContent (the real sibling) vi.mock('@/app/components/workflow/nodes/_base/components/before-run-form/bool-input', () => ({ @@ -31,7 +31,7 @@ vi.mock('@/app/components/base/file-uploader', () => ({ ), })) -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useChatWithHistoryContext: vi.fn(), })) diff --git a/web/app/components/base/chat/chat-with-history/sidebar/index.spec.tsx b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/chat/chat-with-history/sidebar/index.spec.tsx rename to web/app/components/base/chat/chat-with-history/sidebar/__tests__/index.spec.tsx index f1378f5553..768bbe9284 100644 --- a/web/app/components/base/chat/chat-with-history/sidebar/index.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/index.spec.tsx @@ -1,13 +1,13 @@ -import type { ChatWithHistoryContextValue } from '../context' +import type { ChatWithHistoryContextValue } from '../../context' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { useChatWithHistoryContext } from '../context' -import Sidebar from './index' +import { useChatWithHistoryContext } from '../../context' +import Sidebar from '../index' // Mock List to allow us to trigger operations -vi.mock('./list', () => ({ +vi.mock('../list', () => ({ default: ({ list, onOperate, title }: { list: Array<{ id: string, name: string }>, onOperate: (type: string, item: { id: string, name: string }) => void, title?: string }) => (
{title &&
{title}
} @@ -25,7 +25,7 @@ vi.mock('./list', () => ({ })) // Mock context hook -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useChatWithHistoryContext: vi.fn(), })) diff --git a/web/app/components/base/chat/chat-with-history/sidebar/item.spec.tsx b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/item.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat-with-history/sidebar/item.spec.tsx rename to web/app/components/base/chat/chat-with-history/sidebar/__tests__/item.spec.tsx index 1388d1b5ed..075b5b6b1c 100644 --- a/web/app/components/base/chat/chat-with-history/sidebar/item.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/item.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import Item from './item' +import Item from '../item' // Mock Operation to verify its usage vi.mock('@/app/components/base/chat/chat-with-history/sidebar/operation', () => ({ diff --git a/web/app/components/base/chat/chat-with-history/sidebar/list.spec.tsx b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/list.spec.tsx similarity index 96% rename from web/app/components/base/chat/chat-with-history/sidebar/list.spec.tsx rename to web/app/components/base/chat/chat-with-history/sidebar/__tests__/list.spec.tsx index 7324a72aa6..a0d04fb271 100644 --- a/web/app/components/base/chat/chat-with-history/sidebar/list.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/list.spec.tsx @@ -1,10 +1,10 @@ import { render, screen } from '@testing-library/react' import * as React from 'react' import { describe, expect, it, vi } from 'vitest' -import List from './list' +import List from '../list' // Mock Item to verify its usage -vi.mock('./item', () => ({ +vi.mock('../item', () => ({ default: ({ item }: { item: { name: string } }) => (
{item.name} diff --git a/web/app/components/base/chat/chat-with-history/sidebar/operation.spec.tsx b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/operation.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat-with-history/sidebar/operation.spec.tsx rename to web/app/components/base/chat/chat-with-history/sidebar/__tests__/operation.spec.tsx index 3f7d11a837..e46b54872e 100644 --- a/web/app/components/base/chat/chat-with-history/sidebar/operation.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/operation.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import Operation from './operation' +import Operation from '../operation' // Mock PortalToFollowElem components to render children in place vi.mock('@/app/components/base/portal-to-follow-elem', () => ({ diff --git a/web/app/components/base/chat/chat-with-history/sidebar/rename-modal.spec.tsx b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/rename-modal.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat-with-history/sidebar/rename-modal.spec.tsx rename to web/app/components/base/chat/chat-with-history/sidebar/__tests__/rename-modal.spec.tsx index 4feecd72b6..e20caa98da 100644 --- a/web/app/components/base/chat/chat-with-history/sidebar/rename-modal.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/sidebar/__tests__/rename-modal.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import RenameModal from './rename-modal' +import RenameModal from '../rename-modal' describe('RenameModal', () => { const defaultProps = { diff --git a/web/app/components/base/chat/chat/content-switch.spec.tsx b/web/app/components/base/chat/chat/__tests__/content-switch.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat/content-switch.spec.tsx rename to web/app/components/base/chat/chat/__tests__/content-switch.spec.tsx index 5f87ceb6f2..e05151464a 100644 --- a/web/app/components/base/chat/chat/content-switch.spec.tsx +++ b/web/app/components/base/chat/chat/__tests__/content-switch.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import ContentSwitch from './content-switch' +import ContentSwitch from '../content-switch' describe('ContentSwitch', () => { const defaultProps = { diff --git a/web/app/components/base/chat/chat/context.spec.tsx b/web/app/components/base/chat/chat/__tests__/context.spec.tsx similarity index 94% rename from web/app/components/base/chat/chat/context.spec.tsx rename to web/app/components/base/chat/chat/__tests__/context.spec.tsx index de65a4d606..fd00156e59 100644 --- a/web/app/components/base/chat/chat/context.spec.tsx +++ b/web/app/components/base/chat/chat/__tests__/context.spec.tsx @@ -1,9 +1,9 @@ -import type { ChatItem } from '../types' -import type { ChatContextValue } from './context' +import type { ChatItem } from '../../types' +import type { ChatContextValue } from '../context' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { vi } from 'vitest' -import { ChatContextProvider, useChatContext } from './context' +import { ChatContextProvider, useChatContext } from '../context' const TestConsumer = () => { const context = useChatContext() diff --git a/web/app/components/base/chat/chat/hooks.multimodal.spec.ts b/web/app/components/base/chat/chat/__tests__/hooks.multimodal.spec.ts similarity index 100% rename from web/app/components/base/chat/chat/hooks.multimodal.spec.ts rename to web/app/components/base/chat/chat/__tests__/hooks.multimodal.spec.ts diff --git a/web/app/components/base/chat/chat/index.spec.tsx b/web/app/components/base/chat/chat/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat/index.spec.tsx rename to web/app/components/base/chat/chat/__tests__/index.spec.tsx index 73c4aa8207..ba5bbaba6b 100644 --- a/web/app/components/base/chat/chat/index.spec.tsx +++ b/web/app/components/base/chat/chat/__tests__/index.spec.tsx @@ -1,10 +1,10 @@ -import type { ChatConfig, ChatItem, OnSend } from '../types' -import type { ChatProps } from './index' +import type { ChatConfig, ChatItem, OnSend } from '../../types' +import type { ChatProps } from '../index' import { act, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { useStore as useAppStore } from '@/app/components/app/store' -import Chat from './index' +import Chat from '../index' // ─── Why each mock exists ───────────────────────────────────────────────────── // @@ -24,7 +24,7 @@ import Chat from './index' // TryToAsk – only uses Button (base), Divider (base), i18n (global mock). // ───────────────────────────────────────────────────────────────────────────── -vi.mock('./answer', () => ({ +vi.mock('../answer', () => ({ default: ({ item, responding }: { item: ChatItem, responding?: boolean }) => (
({ ), })) -vi.mock('./question', () => ({ +vi.mock('../question', () => ({ default: ({ item }: { item: ChatItem }) => (
{item.content}
), })) -vi.mock('./chat-input-area', () => ({ +vi.mock('../chat-input-area', () => ({ default: ({ disabled, readonly }: { disabled?: boolean, readonly?: boolean }) => (
({ diff --git a/web/app/components/base/chat/chat/try-to-ask.spec.tsx b/web/app/components/base/chat/chat/__tests__/try-to-ask.spec.tsx similarity index 97% rename from web/app/components/base/chat/chat/try-to-ask.spec.tsx rename to web/app/components/base/chat/chat/__tests__/try-to-ask.spec.tsx index caeae028c6..e59e0865c1 100644 --- a/web/app/components/base/chat/chat/try-to-ask.spec.tsx +++ b/web/app/components/base/chat/chat/__tests__/try-to-ask.spec.tsx @@ -1,7 +1,7 @@ -import type { OnSend } from '../types' +import type { OnSend } from '../../types' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import TryToAsk from './try-to-ask' +import TryToAsk from '../try-to-ask' describe('TryToAsk', () => { const mockOnSend: OnSend = vi.fn() diff --git a/web/app/components/base/chat/chat/answer/agent-content.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/agent-content.spec.tsx similarity index 97% rename from web/app/components/base/chat/chat/answer/agent-content.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/agent-content.spec.tsx index ef4143fa6f..57c1eefa1f 100644 --- a/web/app/components/base/chat/chat/answer/agent-content.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/agent-content.spec.tsx @@ -1,9 +1,9 @@ -import type { ChatItem } from '../../types' +import type { ChatItem } from '../../../types' import type { IThoughtProps } from '@/app/components/base/chat/chat/thought' import type { FileEntity } from '@/app/components/base/file-uploader/types' import type { MarkdownProps } from '@/app/components/base/markdown' import { render, screen } from '@testing-library/react' -import AgentContent from './agent-content' +import AgentContent from '../agent-content' // Mock Markdown component used only in tests vi.mock('@/app/components/base/markdown', () => ({ diff --git a/web/app/components/base/chat/chat/answer/basic-content.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/basic-content.spec.tsx similarity index 97% rename from web/app/components/base/chat/chat/answer/basic-content.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/basic-content.spec.tsx index 9a03ea9d40..77c1ea23cf 100644 --- a/web/app/components/base/chat/chat/answer/basic-content.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/basic-content.spec.tsx @@ -1,7 +1,7 @@ -import type { ChatItem } from '../../types' +import type { ChatItem } from '../../../types' import type { MarkdownProps } from '@/app/components/base/markdown' import { render, screen } from '@testing-library/react' -import BasicContent from './basic-content' +import BasicContent from '../basic-content' // Mock Markdown component used only in tests vi.mock('@/app/components/base/markdown', () => ({ diff --git a/web/app/components/base/chat/chat/answer/human-input-filled-form-list.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/human-input-filled-form-list.spec.tsx similarity index 96% rename from web/app/components/base/chat/chat/answer/human-input-filled-form-list.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/human-input-filled-form-list.spec.tsx index 5eceddd444..37556550ca 100644 --- a/web/app/components/base/chat/chat/answer/human-input-filled-form-list.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/human-input-filled-form-list.spec.tsx @@ -1,7 +1,7 @@ import type { HumanInputFilledFormData } from '@/types/workflow' import { render, screen } from '@testing-library/react' import { describe, expect, it } from 'vitest' -import HumanInputFilledFormList from './human-input-filled-form-list' +import HumanInputFilledFormList from '../human-input-filled-form-list' /** * Type-safe factory. diff --git a/web/app/components/base/chat/chat/answer/human-input-form-list.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/human-input-form-list.spec.tsx similarity index 96% rename from web/app/components/base/chat/chat/answer/human-input-form-list.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/human-input-form-list.spec.tsx index 4bfd3a7d97..cc8fdfffd0 100644 --- a/web/app/components/base/chat/chat/answer/human-input-form-list.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/human-input-form-list.spec.tsx @@ -1,10 +1,10 @@ import type { HumanInputFormData } from '@/types/workflow' import { render, screen } from '@testing-library/react' import { DeliveryMethodType } from '@/app/components/workflow/nodes/human-input/types' -import HumanInputFormList from './human-input-form-list' +import HumanInputFormList from '../human-input-form-list' // Mock child components -vi.mock('./human-input-content/content-wrapper', () => ({ +vi.mock('../human-input-content/content-wrapper', () => ({ default: ({ children, nodeTitle }: { children: React.ReactNode, nodeTitle: string }) => (
{children} @@ -12,7 +12,7 @@ vi.mock('./human-input-content/content-wrapper', () => ({ ), })) -vi.mock('./human-input-content/unsubmitted', () => ({ +vi.mock('../human-input-content/unsubmitted', () => ({ UnsubmittedHumanInputContent: ({ showEmailTip, isEmailDebugMode, showDebugModeTip }: { showEmailTip: boolean, isEmailDebugMode: boolean, showDebugModeTip: boolean }) => (
{showEmailTip ? 'true' : 'false'} diff --git a/web/app/components/base/chat/chat/answer/more.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/more.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat/answer/more.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/more.spec.tsx index 551c15e659..6ff162f09f 100644 --- a/web/app/components/base/chat/chat/answer/more.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/more.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import More from './more' +import More from '../more' describe('More', () => { const mockMoreData = { diff --git a/web/app/components/base/chat/chat/answer/operation.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/operation.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/answer/operation.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/operation.spec.tsx index eb52dffe8f..0c5a43e62a 100644 --- a/web/app/components/base/chat/chat/answer/operation.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/operation.spec.tsx @@ -1,5 +1,5 @@ -import type { ChatConfig, ChatItem } from '../../types' -import type { ChatContextValue } from '../context' +import type { ChatConfig, ChatItem } from '../../../types' +import type { ChatContextValue } from '../../context' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import copy from 'copy-to-clipboard' @@ -7,7 +7,7 @@ import * as React from 'react' import { vi } from 'vitest' import { useModalContext } from '@/context/modal-context' import { useProviderContext } from '@/context/provider-context' -import Operation from './operation' +import Operation from '../operation' const { mockSetShowAnnotationFullModal, @@ -158,7 +158,7 @@ const mockContextValue: ChatContextValue = { onAnnotationRemoved: vi.fn(), } -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useChatContext: () => mockContextValue, })) diff --git a/web/app/components/base/chat/chat/answer/suggested-questions.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/suggested-questions.spec.tsx similarity index 93% rename from web/app/components/base/chat/chat/answer/suggested-questions.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/suggested-questions.spec.tsx index 85a8a28609..16128759bd 100644 --- a/web/app/components/base/chat/chat/answer/suggested-questions.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/suggested-questions.spec.tsx @@ -1,12 +1,12 @@ import type { Mock } from 'vitest' // Or 'jest' if using Jest -import type { IChatItem } from '../type' +import type { IChatItem } from '../../type' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import { useChatContext } from '../context' -import SuggestedQuestions from './suggested-questions' +import { useChatContext } from '../../context' +import SuggestedQuestions from '../suggested-questions' // Mock the chat context -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useChatContext: vi.fn(), })) diff --git a/web/app/components/base/chat/chat/answer/tool-detail.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/tool-detail.spec.tsx similarity index 96% rename from web/app/components/base/chat/chat/answer/tool-detail.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/tool-detail.spec.tsx index 774adcc6e4..7ddeceeb83 100644 --- a/web/app/components/base/chat/chat/answer/tool-detail.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/tool-detail.spec.tsx @@ -1,7 +1,7 @@ -import type { ToolInfoInThought } from '../type' +import type { ToolInfoInThought } from '../../type' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import ToolDetail from './tool-detail' +import ToolDetail from '../tool-detail' describe('ToolDetail', () => { const mockPayload: ToolInfoInThought = { diff --git a/web/app/components/base/chat/chat/answer/workflow-process.spec.tsx b/web/app/components/base/chat/chat/answer/__tests__/workflow-process.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat/answer/workflow-process.spec.tsx rename to web/app/components/base/chat/chat/answer/__tests__/workflow-process.spec.tsx index 30fdb954ea..1e7d9f012e 100644 --- a/web/app/components/base/chat/chat/answer/workflow-process.spec.tsx +++ b/web/app/components/base/chat/chat/answer/__tests__/workflow-process.spec.tsx @@ -1,8 +1,8 @@ -import type { WorkflowProcess } from '../../types' +import type { WorkflowProcess } from '../../../types' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { WorkflowRunningStatus } from '@/app/components/workflow/types' -import WorkflowProcessItem from './workflow-process' +import WorkflowProcessItem from '../workflow-process' // Mock TracingPanel as it's a complex child component vi.mock('@/app/components/workflow/run/tracing-panel', () => ({ diff --git a/web/app/components/base/chat/chat/answer/human-input-content/content-item.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/content-item.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat/answer/human-input-content/content-item.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/content-item.spec.tsx index 2c762f37b5..b1a6ec51ae 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/content-item.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/content-item.spec.tsx @@ -2,7 +2,7 @@ import type { FormInputItem } from '@/app/components/workflow/nodes/human-input/ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import ContentItem from './content-item' +import ContentItem from '../content-item' vi.mock('@/app/components/base/markdown', () => ({ Markdown: ({ content }: { content: string }) =>
{content}
, diff --git a/web/app/components/base/chat/chat/answer/human-input-content/content-wrapper.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/content-wrapper.spec.tsx similarity index 97% rename from web/app/components/base/chat/chat/answer/human-input-content/content-wrapper.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/content-wrapper.spec.tsx index 36f264a834..9e50c9c18b 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/content-wrapper.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/content-wrapper.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it } from 'vitest' -import ContentWrapper from './content-wrapper' +import ContentWrapper from '../content-wrapper' describe('ContentWrapper', () => { const defaultProps = { diff --git a/web/app/components/base/chat/chat/answer/human-input-content/executed-action.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/executed-action.spec.tsx similarity index 94% rename from web/app/components/base/chat/chat/answer/human-input-content/executed-action.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/executed-action.spec.tsx index 3f2e6e4beb..8c24209a0b 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/executed-action.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/executed-action.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { describe, expect, it } from 'vitest' -import ExecutedAction from './executed-action' +import ExecutedAction from '../executed-action' describe('ExecutedAction', () => { it('should render the triggered action information', () => { diff --git a/web/app/components/base/chat/chat/answer/human-input-content/expiration-time.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/expiration-time.spec.tsx similarity index 87% rename from web/app/components/base/chat/chat/answer/human-input-content/expiration-time.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/expiration-time.spec.tsx index fdf3a3244b..b2ed03e71c 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/expiration-time.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/expiration-time.spec.tsx @@ -1,11 +1,11 @@ import { render, screen } from '@testing-library/react' import { describe, expect, it, vi } from 'vitest' -import ExpirationTime from './expiration-time' -import * as utils from './utils' +import ExpirationTime from '../expiration-time' +import * as utils from '../utils' // Mock utils to control time-based logic -vi.mock('./utils', async (importOriginal) => { - const actual = await importOriginal() +vi.mock('../utils', async (importOriginal) => { + const actual = await importOriginal() return { ...actual, getRelativeTime: vi.fn(), diff --git a/web/app/components/base/chat/chat/answer/human-input-content/human-input-form.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/human-input-form.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat/answer/human-input-content/human-input-form.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/human-input-form.spec.tsx index e9d6fdee3c..89ba71b2d9 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/human-input-form.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/human-input-form.spec.tsx @@ -4,9 +4,9 @@ import { act, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' import { UserActionButtonType } from '@/app/components/workflow/nodes/human-input/types' -import HumanInputForm from './human-input-form' +import HumanInputForm from '../human-input-form' -vi.mock('./content-item', () => ({ +vi.mock('../content-item', () => ({ default: ({ content, onInputChange }: { content: string, onInputChange: (name: string, value: string) => void }) => (
{content} diff --git a/web/app/components/base/chat/chat/answer/human-input-content/submitted-content.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/submitted-content.spec.tsx similarity index 92% rename from web/app/components/base/chat/chat/answer/human-input-content/submitted-content.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/submitted-content.spec.tsx index f56b081370..172c1238a7 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/submitted-content.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/submitted-content.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { describe, expect, it, vi } from 'vitest' -import SubmittedContent from './submitted-content' +import SubmittedContent from '../submitted-content' vi.mock('@/app/components/base/markdown', () => ({ Markdown: ({ content }: { content: string }) =>
{content}
, diff --git a/web/app/components/base/chat/chat/answer/human-input-content/submitted.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/submitted.spec.tsx similarity index 95% rename from web/app/components/base/chat/chat/answer/human-input-content/submitted.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/submitted.spec.tsx index 3ea4a25fcd..69f5054704 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/submitted.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/submitted.spec.tsx @@ -1,7 +1,7 @@ import type { HumanInputFilledFormData } from '@/types/workflow' import { render, screen } from '@testing-library/react' import { describe, expect, it, vi } from 'vitest' -import { SubmittedHumanInputContent } from './submitted' +import { SubmittedHumanInputContent } from '../submitted' vi.mock('@/app/components/base/markdown', () => ({ Markdown: ({ content }: { content: string }) =>
{content}
, diff --git a/web/app/components/base/chat/chat/answer/human-input-content/tips.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/tips.spec.tsx similarity index 98% rename from web/app/components/base/chat/chat/answer/human-input-content/tips.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/tips.spec.tsx index 44a92f0e0b..2c212fe3fa 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/tips.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/tips.spec.tsx @@ -2,7 +2,7 @@ import type { AppContextValue } from '@/context/app-context' import { render, screen } from '@testing-library/react' import { describe, expect, it, vi } from 'vitest' import { useSelector } from '@/context/app-context' -import Tips from './tips' +import Tips from '../tips' // Mock AppContext's useSelector to control user profile data vi.mock('@/context/app-context', async (importOriginal) => { diff --git a/web/app/components/base/chat/chat/answer/human-input-content/unsubmitted.spec.tsx b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/unsubmitted.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/answer/human-input-content/unsubmitted.spec.tsx rename to web/app/components/base/chat/chat/answer/human-input-content/__tests__/unsubmitted.spec.tsx index 192b4f08b4..046890157b 100644 --- a/web/app/components/base/chat/chat/answer/human-input-content/unsubmitted.spec.tsx +++ b/web/app/components/base/chat/chat/answer/human-input-content/__tests__/unsubmitted.spec.tsx @@ -6,7 +6,7 @@ import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' import { UserActionButtonType } from '@/app/components/workflow/nodes/human-input/types' import { useSelector } from '@/context/app-context' -import { UnsubmittedHumanInputContent } from './unsubmitted' +import { UnsubmittedHumanInputContent } from '../unsubmitted' // Mock AppContext's useSelector to control user profile data vi.mock('@/context/app-context', async (importOriginal) => { diff --git a/web/app/components/base/chat/chat/chat-input-area/index.spec.tsx b/web/app/components/base/chat/chat/chat-input-area/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/chat-input-area/index.spec.tsx rename to web/app/components/base/chat/chat/chat-input-area/__tests__/index.spec.tsx index 11827f5291..a6d4570fcb 100644 --- a/web/app/components/base/chat/chat/chat-input-area/index.spec.tsx +++ b/web/app/components/base/chat/chat/chat-input-area/__tests__/index.spec.tsx @@ -5,7 +5,7 @@ import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { vi } from 'vitest' -import ChatInputArea from './index' +import ChatInputArea from '../index' // --------------------------------------------------------------------------- // Hoist shared mock references so they are available inside vi.mock factories @@ -106,7 +106,7 @@ vi.mock('@/app/components/base/toast', async () => { // --------------------------------------------------------------------------- let mockIsMultipleLine = false -vi.mock('./hooks', () => ({ +vi.mock('../hooks', () => ({ useTextAreaHeight: () => ({ wrapperRef: { current: document.createElement('div') }, textareaRef: { current: document.createElement('textarea') }, @@ -122,7 +122,7 @@ vi.mock('./hooks', () => ({ // --------------------------------------------------------------------------- // Input-forms validation hook – always passes by default // --------------------------------------------------------------------------- -vi.mock('../check-input-forms-hooks', () => ({ +vi.mock('../../check-input-forms-hooks', () => ({ useCheckInputsForms: () => ({ checkInputsForm: vi.fn().mockReturnValue(true), }), diff --git a/web/app/components/base/chat/chat/chat-input-area/operation.spec.tsx b/web/app/components/base/chat/chat/chat-input-area/__tests__/operation.spec.tsx similarity index 96% rename from web/app/components/base/chat/chat/chat-input-area/operation.spec.tsx rename to web/app/components/base/chat/chat/chat-input-area/__tests__/operation.spec.tsx index 914811015f..096b18d047 100644 --- a/web/app/components/base/chat/chat/chat-input-area/operation.spec.tsx +++ b/web/app/components/base/chat/chat/chat-input-area/__tests__/operation.spec.tsx @@ -1,9 +1,9 @@ -import type { EnableType } from '../../types' +import type { EnableType } from '../../../types' import type { FileUpload } from '@/app/components/base/features/types' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import { Theme } from '../../embedded-chatbot/theme/theme-context' -import Operation from './operation' +import { Theme } from '../../../embedded-chatbot/theme/theme-context' +import Operation from '../operation' vi.mock('@/app/components/base/file-uploader', () => ({ FileUploaderInChatInput: ({ readonly }: { readonly?: boolean }) => ( diff --git a/web/app/components/base/chat/chat/citation/index.spec.tsx b/web/app/components/base/chat/chat/citation/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/citation/index.spec.tsx rename to web/app/components/base/chat/chat/citation/__tests__/index.spec.tsx index dbf90d005c..affd473538 100644 --- a/web/app/components/base/chat/chat/citation/index.spec.tsx +++ b/web/app/components/base/chat/chat/citation/__tests__/index.spec.tsx @@ -1,10 +1,10 @@ -import type { CitationItem } from '../type' +import type { CitationItem } from '../../type' import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { afterAll, beforeEach, describe, expect, it, vi } from 'vitest' -import Citation from './index' +import Citation from '../index' -vi.mock('./popup', () => ({ +vi.mock('../popup', () => ({ default: ({ data, showHitInfo }: { data: { documentName: string }, showHitInfo?: boolean }) => (
{data.documentName} diff --git a/web/app/components/base/chat/chat/citation/popup.spec.tsx b/web/app/components/base/chat/chat/citation/__tests__/popup.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/citation/popup.spec.tsx rename to web/app/components/base/chat/chat/citation/__tests__/popup.spec.tsx index 4e211eafed..69304ffb59 100644 --- a/web/app/components/base/chat/chat/citation/popup.spec.tsx +++ b/web/app/components/base/chat/chat/citation/__tests__/popup.spec.tsx @@ -1,11 +1,11 @@ -import type { Resources } from './index' +import type { Resources } from '../index' import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { beforeEach, describe, expect, it, vi } from 'vitest' import { useDocumentDownload } from '@/service/knowledge/use-document' import { downloadUrl } from '@/utils/download' -import Popup from './popup' +import Popup from '../popup' vi.mock('@/service/knowledge/use-document', () => ({ useDocumentDownload: vi.fn(), @@ -19,11 +19,11 @@ vi.mock('@/app/components/base/file-icon', () => ({ default: ({ type }: { type: string }) =>
, })) -vi.mock('./progress-tooltip', () => ({ +vi.mock('../progress-tooltip', () => ({ default: ({ data }: { data: number }) =>
{data}
, })) -vi.mock('./tooltip', () => ({ +vi.mock('../tooltip', () => ({ default: ({ text, data }: { text: string, data: number | string }) => (
{data}
), diff --git a/web/app/components/base/chat/chat/citation/progress-tooltip.spec.tsx b/web/app/components/base/chat/chat/citation/__tests__/progress-tooltip.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/citation/progress-tooltip.spec.tsx rename to web/app/components/base/chat/chat/citation/__tests__/progress-tooltip.spec.tsx index a24c60c614..a47123aafd 100644 --- a/web/app/components/base/chat/chat/citation/progress-tooltip.spec.tsx +++ b/web/app/components/base/chat/chat/citation/__tests__/progress-tooltip.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import ProgressTooltip from './progress-tooltip' +import ProgressTooltip from '../progress-tooltip' describe('ProgressTooltip', () => { describe('Rendering', () => { diff --git a/web/app/components/base/chat/chat/citation/tooltip.spec.tsx b/web/app/components/base/chat/chat/citation/__tests__/tooltip.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/citation/tooltip.spec.tsx rename to web/app/components/base/chat/chat/citation/__tests__/tooltip.spec.tsx index d5c1b57d76..45ac4b4fb4 100644 --- a/web/app/components/base/chat/chat/citation/tooltip.spec.tsx +++ b/web/app/components/base/chat/chat/citation/__tests__/tooltip.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it } from 'vitest' -import Tooltip from './tooltip' +import Tooltip from '../tooltip' const renderTooltip = (data: number | string = 42, text = 'Characters', icon = icon) => render() diff --git a/web/app/components/base/chat/chat/loading-anim/index.spec.tsx b/web/app/components/base/chat/chat/loading-anim/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/chat/chat/loading-anim/index.spec.tsx rename to web/app/components/base/chat/chat/loading-anim/__tests__/index.spec.tsx index ddba3e38ca..48005f6949 100644 --- a/web/app/components/base/chat/chat/loading-anim/index.spec.tsx +++ b/web/app/components/base/chat/chat/loading-anim/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render } from '@testing-library/react' -import LoadingAnim from './index' +import LoadingAnim from '../index' describe('LoadingAnim', () => { it('should render correctly with text type', () => { diff --git a/web/app/components/base/chat/chat/log/index.spec.tsx b/web/app/components/base/chat/chat/log/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/log/index.spec.tsx rename to web/app/components/base/chat/chat/log/__tests__/index.spec.tsx index b74195bccb..b59f439f16 100644 --- a/web/app/components/base/chat/chat/log/index.spec.tsx +++ b/web/app/components/base/chat/chat/log/__tests__/index.spec.tsx @@ -3,7 +3,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { vi } from 'vitest' import { useStore as useAppStore } from '@/app/components/app/store' -import Log from './index' +import Log from '../index' vi.mock('@/app/components/app/store', () => ({ useStore: vi.fn(), diff --git a/web/app/components/base/chat/chat/thought/index.spec.tsx b/web/app/components/base/chat/chat/thought/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/chat/chat/thought/index.spec.tsx rename to web/app/components/base/chat/chat/thought/__tests__/index.spec.tsx index d6a2993f0a..8a4ea5717d 100644 --- a/web/app/components/base/chat/chat/thought/index.spec.tsx +++ b/web/app/components/base/chat/chat/thought/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ -import type { ThoughtItem } from '../type' +import type { ThoughtItem } from '../../type' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import Thought from './index' +import Thought from '../index' describe('Thought', () => { const createThought = (overrides?: Partial): ThoughtItem => ({ diff --git a/web/app/components/base/chat/embedded-chatbot/chat-wrapper.spec.tsx b/web/app/components/base/chat/embedded-chatbot/__tests__/chat-wrapper.spec.tsx similarity index 97% rename from web/app/components/base/chat/embedded-chatbot/chat-wrapper.spec.tsx rename to web/app/components/base/chat/embedded-chatbot/__tests__/chat-wrapper.spec.tsx index d0b23627f0..b9485bde60 100644 --- a/web/app/components/base/chat/embedded-chatbot/chat-wrapper.spec.tsx +++ b/web/app/components/base/chat/embedded-chatbot/__tests__/chat-wrapper.spec.tsx @@ -1,5 +1,5 @@ -import type { ChatConfig, ChatItem, ChatItemInTree } from '../types' -import type { EmbeddedChatbotContextValue } from './context' +import type { ChatConfig, ChatItem, ChatItemInTree } from '../../types' +import type { EmbeddedChatbotContextValue } from '../context' import { cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react' import { vi } from 'vitest' import { InputVarType } from '@/app/components/workflow/types' @@ -9,24 +9,24 @@ import { submitHumanInputForm, } from '@/service/share' import { submitHumanInputForm as submitHumanInputFormService } from '@/service/workflow' -import { useChat } from '../chat/hooks' -import ChatWrapper from './chat-wrapper' -import { useEmbeddedChatbotContext } from './context' +import { useChat } from '../../chat/hooks' +import ChatWrapper from '../chat-wrapper' +import { useEmbeddedChatbotContext } from '../context' -vi.mock('./context', () => ({ +vi.mock('../context', () => ({ useEmbeddedChatbotContext: vi.fn(), })) -vi.mock('../chat/hooks', () => ({ +vi.mock('../../chat/hooks', () => ({ useChat: vi.fn(), })) -vi.mock('./inputs-form', () => ({ +vi.mock('../inputs-form', () => ({ __esModule: true, default: () =>
inputs form
, })) -vi.mock('../chat', () => ({ +vi.mock('../../chat', () => ({ __esModule: true, default: ({ chatNode, @@ -87,7 +87,7 @@ vi.mock('@/service/workflow', () => ({ })) const mockIsDify = vi.fn(() => false) -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ isDify: () => mockIsDify(), })) diff --git a/web/app/components/base/chat/embedded-chatbot/hooks.spec.tsx b/web/app/components/base/chat/embedded-chatbot/__tests__/hooks.spec.tsx similarity index 97% rename from web/app/components/base/chat/embedded-chatbot/hooks.spec.tsx rename to web/app/components/base/chat/embedded-chatbot/__tests__/hooks.spec.tsx index 06563832f1..9a3340b2af 100644 --- a/web/app/components/base/chat/embedded-chatbot/hooks.spec.tsx +++ b/web/app/components/base/chat/embedded-chatbot/__tests__/hooks.spec.tsx @@ -1,5 +1,5 @@ import type { ReactNode } from 'react' -import type { ChatConfig } from '../types' +import type { ChatConfig } from '../../types' import type { AppConversationData, AppData, AppMeta, ConversationItem } from '@/models/share' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { act, renderHook, waitFor } from '@testing-library/react' @@ -11,8 +11,8 @@ import { generationConversationName, } from '@/service/share' import { shareQueryKeys } from '@/service/use-share' -import { CONVERSATION_ID_INFO } from '../constants' -import { useEmbeddedChatbot } from './hooks' +import { CONVERSATION_ID_INFO } from '../../constants' +import { useEmbeddedChatbot } from '../hooks' vi.mock('@/i18n-config/client', () => ({ changeLanguage: vi.fn().mockResolvedValue(undefined), @@ -40,8 +40,8 @@ vi.mock('@/context/web-app-context', () => ({ useWebAppStore: (selector?: (state: typeof mockStoreState) => unknown) => useWebAppStoreMock(selector), })) -vi.mock('../utils', async () => { - const actual = await vi.importActual('../utils') +vi.mock('../../utils', async () => { + const actual = await vi.importActual('../../utils') return { ...actual, getProcessedInputsFromUrlParams: vi.fn().mockResolvedValue({}), diff --git a/web/app/components/base/chat/embedded-chatbot/index.spec.tsx b/web/app/components/base/chat/embedded-chatbot/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/chat/embedded-chatbot/index.spec.tsx rename to web/app/components/base/chat/embedded-chatbot/__tests__/index.spec.tsx index 48fe16f7b3..a87c206412 100644 --- a/web/app/components/base/chat/embedded-chatbot/index.spec.tsx +++ b/web/app/components/base/chat/embedded-chatbot/__tests__/index.spec.tsx @@ -1,15 +1,15 @@ import type { RefObject } from 'react' -import type { ChatConfig } from '../types' +import type { ChatConfig } from '../../types' import type { AppData, AppMeta, ConversationItem } from '@/models/share' import { render, screen } from '@testing-library/react' import { vi } from 'vitest' import { useGlobalPublicStore } from '@/context/global-public-context' import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' import { defaultSystemFeatures } from '@/types/feature' -import { useEmbeddedChatbot } from './hooks' -import EmbeddedChatbot from './index' +import { useEmbeddedChatbot } from '../hooks' +import EmbeddedChatbot from '../index' -vi.mock('./hooks', () => ({ +vi.mock('../hooks', () => ({ useEmbeddedChatbot: vi.fn(), })) @@ -30,17 +30,17 @@ vi.mock('@/context/global-public-context', () => ({ useGlobalPublicStore: vi.fn(), })) -vi.mock('./chat-wrapper', () => ({ +vi.mock('../chat-wrapper', () => ({ __esModule: true, default: () =>
chat area
, })) -vi.mock('./header', () => ({ +vi.mock('../header', () => ({ __esModule: true, default: () =>
chat header
, })) -vi.mock('./theme/theme-context', () => ({ +vi.mock('../theme/theme-context', () => ({ useThemeContext: vi.fn(() => ({ buildTheme: vi.fn(), theme: { @@ -50,7 +50,7 @@ vi.mock('./theme/theme-context', () => ({ })) const mockIsDify = vi.fn(() => false) -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ isDify: () => mockIsDify(), })) diff --git a/web/app/components/base/chat/embedded-chatbot/header/index.spec.tsx b/web/app/components/base/chat/embedded-chatbot/header/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/chat/embedded-chatbot/header/index.spec.tsx rename to web/app/components/base/chat/embedded-chatbot/header/__tests__/index.spec.tsx index 31323c7196..0ebcc647ac 100644 --- a/web/app/components/base/chat/embedded-chatbot/header/index.spec.tsx +++ b/web/app/components/base/chat/embedded-chatbot/header/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ /* eslint-disable next/no-img-element */ import type { ImgHTMLAttributes } from 'react' -import type { EmbeddedChatbotContextValue } from '../context' +import type { EmbeddedChatbotContextValue } from '../../context' import type { AppData } from '@/models/share' import type { SystemFeatures } from '@/types/feature' import { render, screen, waitFor } from '@testing-library/react' @@ -8,10 +8,10 @@ import userEvent from '@testing-library/user-event' import { vi } from 'vitest' import { useGlobalPublicStore } from '@/context/global-public-context' import { InstallationScope, LicenseStatus } from '@/types/feature' -import { useEmbeddedChatbotContext } from '../context' -import Header from './index' +import { useEmbeddedChatbotContext } from '../../context' +import Header from '../index' -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useEmbeddedChatbotContext: vi.fn(), })) diff --git a/web/app/components/base/chat/embedded-chatbot/inputs-form/content.spec.tsx b/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/content.spec.tsx similarity index 98% rename from web/app/components/base/chat/embedded-chatbot/inputs-form/content.spec.tsx rename to web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/content.spec.tsx index de7f810fcb..08c9a035e7 100644 --- a/web/app/components/base/chat/embedded-chatbot/inputs-form/content.spec.tsx +++ b/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/content.spec.tsx @@ -2,10 +2,10 @@ import { fireEvent, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { InputVarType } from '@/app/components/workflow/types' -import { useEmbeddedChatbotContext } from '../context' -import InputsFormContent from './content' +import { useEmbeddedChatbotContext } from '../../context' +import InputsFormContent from '../content' -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useEmbeddedChatbotContext: vi.fn(), })) diff --git a/web/app/components/base/chat/embedded-chatbot/inputs-form/index.spec.tsx b/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/chat/embedded-chatbot/inputs-form/index.spec.tsx rename to web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/index.spec.tsx index 7568f606df..7ffedc581a 100644 --- a/web/app/components/base/chat/embedded-chatbot/inputs-form/index.spec.tsx +++ b/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/index.spec.tsx @@ -2,15 +2,15 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { AppSourceType } from '@/service/share' -import { useEmbeddedChatbotContext } from '../context' -import InputsFormNode from './index' +import { useEmbeddedChatbotContext } from '../../context' +import InputsFormNode from '../index' -vi.mock('../context', () => ({ +vi.mock('../../context', () => ({ useEmbeddedChatbotContext: vi.fn(), })) // Mock InputsFormContent to avoid complex integration in this test -vi.mock('./content', () => ({ +vi.mock('../content', () => ({ default: () =>
, })) diff --git a/web/app/components/base/chat/embedded-chatbot/inputs-form/view-form-dropdown.spec.tsx b/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/view-form-dropdown.spec.tsx similarity index 95% rename from web/app/components/base/chat/embedded-chatbot/inputs-form/view-form-dropdown.spec.tsx rename to web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/view-form-dropdown.spec.tsx index 9f7fa727fd..8e0ddedbe7 100644 --- a/web/app/components/base/chat/embedded-chatbot/inputs-form/view-form-dropdown.spec.tsx +++ b/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/view-form-dropdown.spec.tsx @@ -1,9 +1,9 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import ViewFormDropdown from './view-form-dropdown' +import ViewFormDropdown from '../view-form-dropdown' // Mock InputsFormContent to avoid complex integration in this test -vi.mock('./content', () => ({ +vi.mock('../content', () => ({ default: () =>
, })) diff --git a/web/app/components/base/checkbox-list/index.spec.tsx b/web/app/components/base/checkbox-list/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/checkbox-list/index.spec.tsx rename to web/app/components/base/checkbox-list/__tests__/index.spec.tsx index 59ddfb69fc..17f3704666 100644 --- a/web/app/components/base/checkbox-list/index.spec.tsx +++ b/web/app/components/base/checkbox-list/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import type { ImgHTMLAttributes } from 'react' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import CheckboxList from '.' +import CheckboxList from '..' vi.mock('next/image', () => ({ default: (props: ImgHTMLAttributes) => , diff --git a/web/app/components/base/checkbox/index.spec.tsx b/web/app/components/base/checkbox/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/checkbox/index.spec.tsx rename to web/app/components/base/checkbox/__tests__/index.spec.tsx index e817f05afd..551f29c854 100644 --- a/web/app/components/base/checkbox/index.spec.tsx +++ b/web/app/components/base/checkbox/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import Checkbox from './index' +import Checkbox from '../index' describe('Checkbox Component', () => { const mockProps = { diff --git a/web/app/components/base/checkbox/assets/indeterminate-icon.spec.tsx b/web/app/components/base/checkbox/assets/__tests__/indeterminate-icon.spec.tsx similarity index 90% rename from web/app/components/base/checkbox/assets/indeterminate-icon.spec.tsx rename to web/app/components/base/checkbox/assets/__tests__/indeterminate-icon.spec.tsx index 3f39dd836f..e226562da7 100644 --- a/web/app/components/base/checkbox/assets/indeterminate-icon.spec.tsx +++ b/web/app/components/base/checkbox/assets/__tests__/indeterminate-icon.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import IndeterminateIcon from './indeterminate-icon' +import IndeterminateIcon from '../indeterminate-icon' describe('IndeterminateIcon', () => { describe('Rendering', () => { diff --git a/web/app/components/base/chip/index.spec.tsx b/web/app/components/base/chip/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/chip/index.spec.tsx rename to web/app/components/base/chip/__tests__/index.spec.tsx index c19cc77b39..24c04b51a5 100644 --- a/web/app/components/base/chip/index.spec.tsx +++ b/web/app/components/base/chip/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ -import type { Item } from './index' +import type { Item } from '../index' import { cleanup, fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import Chip from './index' +import Chip from '../index' afterEach(cleanup) diff --git a/web/app/components/base/confirm/index.spec.tsx b/web/app/components/base/confirm/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/confirm/index.spec.tsx rename to web/app/components/base/confirm/__tests__/index.spec.tsx index c2f67cc35e..29be2d617e 100644 --- a/web/app/components/base/confirm/index.spec.tsx +++ b/web/app/components/base/confirm/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { act, fireEvent, render, screen } from '@testing-library/react' -import Confirm from '.' +import Confirm from '..' vi.mock('react-dom', async () => { const actual = await vi.importActual('react-dom') diff --git a/web/app/components/base/content-dialog/index.spec.tsx b/web/app/components/base/content-dialog/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/content-dialog/index.spec.tsx rename to web/app/components/base/content-dialog/__tests__/index.spec.tsx index a047fdf062..e987d306a1 100644 --- a/web/app/components/base/content-dialog/index.spec.tsx +++ b/web/app/components/base/content-dialog/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import ContentDialog from './index' +import ContentDialog from '../index' describe('ContentDialog', () => { it('renders children when show is true', async () => { diff --git a/web/app/components/base/copy-feedback/index.spec.tsx b/web/app/components/base/copy-feedback/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/copy-feedback/index.spec.tsx rename to web/app/components/base/copy-feedback/__tests__/index.spec.tsx index f89331c1bb..a7bc5bbbc2 100644 --- a/web/app/components/base/copy-feedback/index.spec.tsx +++ b/web/app/components/base/copy-feedback/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import CopyFeedback, { CopyFeedbackNew } from '.' +import CopyFeedback, { CopyFeedbackNew } from '..' const mockCopy = vi.fn() const mockReset = vi.fn() diff --git a/web/app/components/base/copy-icon/index.spec.tsx b/web/app/components/base/copy-icon/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/copy-icon/index.spec.tsx rename to web/app/components/base/copy-icon/__tests__/index.spec.tsx index b4cf192174..f25f0940c6 100644 --- a/web/app/components/base/copy-icon/index.spec.tsx +++ b/web/app/components/base/copy-icon/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render } from '@testing-library/react' -import CopyIcon from '.' +import CopyIcon from '..' const copy = vi.fn() const reset = vi.fn() diff --git a/web/app/components/base/corner-label/index.spec.tsx b/web/app/components/base/corner-label/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/corner-label/index.spec.tsx rename to web/app/components/base/corner-label/__tests__/index.spec.tsx index 479eaeff0d..11a2c0c877 100644 --- a/web/app/components/base/corner-label/index.spec.tsx +++ b/web/app/components/base/corner-label/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import CornerLabel from '.' +import CornerLabel from '..' describe('CornerLabel', () => { it('renders the label correctly', () => { diff --git a/web/app/components/base/date-and-time-picker/hooks.spec.ts b/web/app/components/base/date-and-time-picker/__tests__/hooks.spec.ts similarity index 97% rename from web/app/components/base/date-and-time-picker/hooks.spec.ts rename to web/app/components/base/date-and-time-picker/__tests__/hooks.spec.ts index c3675b9d84..3595cb6600 100644 --- a/web/app/components/base/date-and-time-picker/hooks.spec.ts +++ b/web/app/components/base/date-and-time-picker/__tests__/hooks.spec.ts @@ -1,7 +1,7 @@ import { renderHook } from '@testing-library/react' -import { useDaysOfWeek, useMonths, useTimeOptions, useYearOptions } from './hooks' -import { Period } from './types' -import dayjs from './utils/dayjs' +import { useDaysOfWeek, useMonths, useTimeOptions, useYearOptions } from '../hooks' +import { Period } from '../types' +import dayjs from '../utils/dayjs' describe('date-and-time-picker hooks', () => { // Tests for useDaysOfWeek hook diff --git a/web/app/components/base/date-and-time-picker/calendar/days-of-week.spec.tsx b/web/app/components/base/date-and-time-picker/calendar/__tests__/days-of-week.spec.tsx similarity index 93% rename from web/app/components/base/date-and-time-picker/calendar/days-of-week.spec.tsx rename to web/app/components/base/date-and-time-picker/calendar/__tests__/days-of-week.spec.tsx index 334b6fdbe9..44d79c1fee 100644 --- a/web/app/components/base/date-and-time-picker/calendar/days-of-week.spec.tsx +++ b/web/app/components/base/date-and-time-picker/calendar/__tests__/days-of-week.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import { DaysOfWeek } from './days-of-week' +import { DaysOfWeek } from '../days-of-week' describe('DaysOfWeek', () => { // Rendering test diff --git a/web/app/components/base/date-and-time-picker/calendar/index.spec.tsx b/web/app/components/base/date-and-time-picker/calendar/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/date-and-time-picker/calendar/index.spec.tsx rename to web/app/components/base/date-and-time-picker/calendar/__tests__/index.spec.tsx index 51104864bb..d8e00780b1 100644 --- a/web/app/components/base/date-and-time-picker/calendar/index.spec.tsx +++ b/web/app/components/base/date-and-time-picker/calendar/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ -import type { CalendarProps, Day } from '../types' +import type { CalendarProps, Day } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import dayjs from '../utils/dayjs' -import Calendar from './index' +import dayjs from '../../utils/dayjs' +import Calendar from '../index' // Mock scrollIntoView since jsdom doesn't implement it beforeAll(() => { diff --git a/web/app/components/base/date-and-time-picker/calendar/item.spec.tsx b/web/app/components/base/date-and-time-picker/calendar/__tests__/item.spec.tsx similarity index 97% rename from web/app/components/base/date-and-time-picker/calendar/item.spec.tsx rename to web/app/components/base/date-and-time-picker/calendar/__tests__/item.spec.tsx index 7fcfcaae1f..8bf8ac68b5 100644 --- a/web/app/components/base/date-and-time-picker/calendar/item.spec.tsx +++ b/web/app/components/base/date-and-time-picker/calendar/__tests__/item.spec.tsx @@ -1,7 +1,7 @@ -import type { CalendarItemProps, Day } from '../types' +import type { CalendarItemProps, Day } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import dayjs from '../utils/dayjs' -import Item from './item' +import dayjs from '../../utils/dayjs' +import Item from '../item' const createMockDay = (overrides: Partial = {}): Day => ({ date: dayjs('2024-06-15'), diff --git a/web/app/components/base/date-and-time-picker/common/option-list-item.spec.tsx b/web/app/components/base/date-and-time-picker/common/__tests__/option-list-item.spec.tsx similarity index 98% rename from web/app/components/base/date-and-time-picker/common/option-list-item.spec.tsx rename to web/app/components/base/date-and-time-picker/common/__tests__/option-list-item.spec.tsx index 760ba62ddc..8ccf8fab73 100644 --- a/web/app/components/base/date-and-time-picker/common/option-list-item.spec.tsx +++ b/web/app/components/base/date-and-time-picker/common/__tests__/option-list-item.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import OptionListItem from './option-list-item' +import OptionListItem from '../option-list-item' describe('OptionListItem', () => { let originalScrollIntoView: Element['scrollIntoView'] diff --git a/web/app/components/base/date-and-time-picker/date-picker/footer.spec.tsx b/web/app/components/base/date-and-time-picker/date-picker/__tests__/footer.spec.tsx similarity index 96% rename from web/app/components/base/date-and-time-picker/date-picker/footer.spec.tsx rename to web/app/components/base/date-and-time-picker/date-picker/__tests__/footer.spec.tsx index c164044484..b7ada71ca2 100644 --- a/web/app/components/base/date-and-time-picker/date-picker/footer.spec.tsx +++ b/web/app/components/base/date-and-time-picker/date-picker/__tests__/footer.spec.tsx @@ -1,7 +1,7 @@ -import type { DatePickerFooterProps } from '../types' +import type { DatePickerFooterProps } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import { ViewType } from '../types' -import Footer from './footer' +import { ViewType } from '../../types' +import Footer from '../footer' // Factory for Footer props const createFooterProps = (overrides: Partial = {}): DatePickerFooterProps => ({ diff --git a/web/app/components/base/date-and-time-picker/date-picker/header.spec.tsx b/web/app/components/base/date-and-time-picker/date-picker/__tests__/header.spec.tsx similarity index 95% rename from web/app/components/base/date-and-time-picker/date-picker/header.spec.tsx rename to web/app/components/base/date-and-time-picker/date-picker/__tests__/header.spec.tsx index 353b662eeb..dedb2ef68d 100644 --- a/web/app/components/base/date-and-time-picker/date-picker/header.spec.tsx +++ b/web/app/components/base/date-and-time-picker/date-picker/__tests__/header.spec.tsx @@ -1,7 +1,7 @@ -import type { DatePickerHeaderProps } from '../types' +import type { DatePickerHeaderProps } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import dayjs from '../utils/dayjs' -import Header from './header' +import dayjs from '../../utils/dayjs' +import Header from '../header' // Factory for Header props const createHeaderProps = (overrides: Partial = {}): DatePickerHeaderProps => ({ diff --git a/web/app/components/base/date-and-time-picker/date-picker/index.spec.tsx b/web/app/components/base/date-and-time-picker/date-picker/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/date-and-time-picker/date-picker/index.spec.tsx rename to web/app/components/base/date-and-time-picker/date-picker/__tests__/index.spec.tsx index 26ca3db1e1..5760a301dc 100644 --- a/web/app/components/base/date-and-time-picker/date-picker/index.spec.tsx +++ b/web/app/components/base/date-and-time-picker/date-picker/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ -import type { DatePickerProps } from '../types' +import type { DatePickerProps } from '../../types' import { act, fireEvent, render, screen, within } from '@testing-library/react' -import dayjs from '../utils/dayjs' -import DatePicker from './index' +import dayjs from '../../utils/dayjs' +import DatePicker from '../index' // Mock scrollIntoView beforeAll(() => { diff --git a/web/app/components/base/date-and-time-picker/time-picker/footer.spec.tsx b/web/app/components/base/date-and-time-picker/time-picker/__tests__/footer.spec.tsx similarity index 94% rename from web/app/components/base/date-and-time-picker/time-picker/footer.spec.tsx rename to web/app/components/base/date-and-time-picker/time-picker/__tests__/footer.spec.tsx index a11e6b94d6..d1060ffcfc 100644 --- a/web/app/components/base/date-and-time-picker/time-picker/footer.spec.tsx +++ b/web/app/components/base/date-and-time-picker/time-picker/__tests__/footer.spec.tsx @@ -1,6 +1,6 @@ -import type { TimePickerFooterProps } from '../types' +import type { TimePickerFooterProps } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import Footer from './footer' +import Footer from '../footer' // Factory for TimePickerFooter props const createFooterProps = (overrides: Partial = {}): TimePickerFooterProps => ({ diff --git a/web/app/components/base/date-and-time-picker/time-picker/header.spec.tsx b/web/app/components/base/date-and-time-picker/time-picker/__tests__/header.spec.tsx similarity index 96% rename from web/app/components/base/date-and-time-picker/time-picker/header.spec.tsx rename to web/app/components/base/date-and-time-picker/time-picker/__tests__/header.spec.tsx index 7f9872ff0f..afdadfda13 100644 --- a/web/app/components/base/date-and-time-picker/time-picker/header.spec.tsx +++ b/web/app/components/base/date-and-time-picker/time-picker/__tests__/header.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import Header from './header' +import Header from '../header' describe('TimePicker Header', () => { beforeEach(() => { diff --git a/web/app/components/base/date-and-time-picker/time-picker/index.spec.tsx b/web/app/components/base/date-and-time-picker/time-picker/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/date-and-time-picker/time-picker/index.spec.tsx rename to web/app/components/base/date-and-time-picker/time-picker/__tests__/index.spec.tsx index ee4e08f988..81e065c827 100644 --- a/web/app/components/base/date-and-time-picker/time-picker/index.spec.tsx +++ b/web/app/components/base/date-and-time-picker/time-picker/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ -import type { TimePickerProps } from '../types' +import type { TimePickerProps } from '../../types' import { fireEvent, render, screen, within } from '@testing-library/react' -import dayjs, { isDayjsObject } from '../utils/dayjs' -import TimePicker from './index' +import dayjs, { isDayjsObject } from '../../utils/dayjs' +import TimePicker from '../index' // Mock scrollIntoView since jsdom doesn't implement it beforeAll(() => { diff --git a/web/app/components/base/date-and-time-picker/time-picker/options.spec.tsx b/web/app/components/base/date-and-time-picker/time-picker/__tests__/options.spec.tsx similarity index 96% rename from web/app/components/base/date-and-time-picker/time-picker/options.spec.tsx rename to web/app/components/base/date-and-time-picker/time-picker/__tests__/options.spec.tsx index 9f169eb010..9d945dcf2e 100644 --- a/web/app/components/base/date-and-time-picker/time-picker/options.spec.tsx +++ b/web/app/components/base/date-and-time-picker/time-picker/__tests__/options.spec.tsx @@ -1,7 +1,7 @@ -import type { TimeOptionsProps } from '../types' +import type { TimeOptionsProps } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import dayjs from '../utils/dayjs' -import Options from './options' +import dayjs from '../../utils/dayjs' +import Options from '../options' beforeAll(() => { Element.prototype.scrollIntoView = vi.fn() diff --git a/web/app/components/base/date-and-time-picker/utils/dayjs-extended.spec.ts b/web/app/components/base/date-and-time-picker/utils/__tests__/dayjs-extended.spec.ts similarity index 99% rename from web/app/components/base/date-and-time-picker/utils/dayjs-extended.spec.ts rename to web/app/components/base/date-and-time-picker/utils/__tests__/dayjs-extended.spec.ts index a5c80ff35c..f5332e1917 100644 --- a/web/app/components/base/date-and-time-picker/utils/dayjs-extended.spec.ts +++ b/web/app/components/base/date-and-time-picker/utils/__tests__/dayjs-extended.spec.ts @@ -7,7 +7,7 @@ import dayjs, { getHourIn12Hour, parseDateWithFormat, toDayjs, -} from './dayjs' +} from '../dayjs' describe('dayjs extended utilities', () => { // Tests for cloneTime diff --git a/web/app/components/base/date-and-time-picker/utils/dayjs.spec.ts b/web/app/components/base/date-and-time-picker/utils/__tests__/dayjs.spec.ts similarity index 99% rename from web/app/components/base/date-and-time-picker/utils/dayjs.spec.ts rename to web/app/components/base/date-and-time-picker/utils/__tests__/dayjs.spec.ts index 5457fa13fb..e36fecd0b6 100644 --- a/web/app/components/base/date-and-time-picker/utils/dayjs.spec.ts +++ b/web/app/components/base/date-and-time-picker/utils/__tests__/dayjs.spec.ts @@ -3,7 +3,7 @@ import dayjs, { getDateWithTimezone, isDayjsObject, toDayjs, -} from './dayjs' +} from '../dayjs' describe('dayjs utilities', () => { const timezone = 'UTC' diff --git a/web/app/components/base/date-and-time-picker/year-and-month-picker/footer.spec.tsx b/web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/footer.spec.tsx similarity index 94% rename from web/app/components/base/date-and-time-picker/year-and-month-picker/footer.spec.tsx rename to web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/footer.spec.tsx index 7c3815d22f..f3d69461c9 100644 --- a/web/app/components/base/date-and-time-picker/year-and-month-picker/footer.spec.tsx +++ b/web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/footer.spec.tsx @@ -1,6 +1,6 @@ -import type { YearAndMonthPickerFooterProps } from '../types' +import type { YearAndMonthPickerFooterProps } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import Footer from './footer' +import Footer from '../footer' // Factory for Footer props const createFooterProps = (overrides: Partial = {}): YearAndMonthPickerFooterProps => ({ diff --git a/web/app/components/base/date-and-time-picker/year-and-month-picker/header.spec.tsx b/web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/header.spec.tsx similarity index 92% rename from web/app/components/base/date-and-time-picker/year-and-month-picker/header.spec.tsx rename to web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/header.spec.tsx index 91c0bc6947..fc30c8f221 100644 --- a/web/app/components/base/date-and-time-picker/year-and-month-picker/header.spec.tsx +++ b/web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/header.spec.tsx @@ -1,6 +1,6 @@ -import type { YearAndMonthPickerHeaderProps } from '../types' +import type { YearAndMonthPickerHeaderProps } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import Header from './header' +import Header from '../header' // Factory for Header props const createHeaderProps = (overrides: Partial = {}): YearAndMonthPickerHeaderProps => ({ diff --git a/web/app/components/base/date-and-time-picker/year-and-month-picker/options.spec.tsx b/web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/options.spec.tsx similarity index 95% rename from web/app/components/base/date-and-time-picker/year-and-month-picker/options.spec.tsx rename to web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/options.spec.tsx index 2ca448fed0..977462dfb6 100644 --- a/web/app/components/base/date-and-time-picker/year-and-month-picker/options.spec.tsx +++ b/web/app/components/base/date-and-time-picker/year-and-month-picker/__tests__/options.spec.tsx @@ -1,6 +1,6 @@ -import type { YearAndMonthPickerOptionsProps } from '../types' +import type { YearAndMonthPickerOptionsProps } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import Options from './options' +import Options from '../options' beforeAll(() => { Element.prototype.scrollIntoView = vi.fn() diff --git a/web/app/components/base/dialog/index.spec.tsx b/web/app/components/base/dialog/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/dialog/index.spec.tsx rename to web/app/components/base/dialog/__tests__/index.spec.tsx index c58724595f..241e89be26 100644 --- a/web/app/components/base/dialog/index.spec.tsx +++ b/web/app/components/base/dialog/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { act, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import CustomDialog from './index' +import CustomDialog from '../index' describe('CustomDialog Component', () => { const setup = () => userEvent.setup() diff --git a/web/app/components/base/divider/index.spec.tsx b/web/app/components/base/divider/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/divider/index.spec.tsx rename to web/app/components/base/divider/__tests__/index.spec.tsx index 7c7c52cd16..2630a0f6f6 100644 --- a/web/app/components/base/divider/index.spec.tsx +++ b/web/app/components/base/divider/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render } from '@testing-library/react' -import Divider from './index' +import Divider from '../index' describe('Divider', () => { it('renders with default props', () => { diff --git a/web/app/components/base/drawer-plus/index.spec.tsx b/web/app/components/base/drawer-plus/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/drawer-plus/index.spec.tsx rename to web/app/components/base/drawer-plus/__tests__/index.spec.tsx index e2d5c88df8..e6a530c299 100644 --- a/web/app/components/base/drawer-plus/index.spec.tsx +++ b/web/app/components/base/drawer-plus/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import DrawerPlus from '.' +import DrawerPlus from '..' vi.mock('@/hooks/use-breakpoints', () => ({ default: () => 'desktop', diff --git a/web/app/components/base/drawer/index.spec.tsx b/web/app/components/base/drawer/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/drawer/index.spec.tsx rename to web/app/components/base/drawer/__tests__/index.spec.tsx index 51cf0fa55c..83338b5630 100644 --- a/web/app/components/base/drawer/index.spec.tsx +++ b/web/app/components/base/drawer/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ -import type { IDrawerProps } from './index' +import type { IDrawerProps } from '../index' import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import Drawer from './index' +import Drawer from '../index' // Capture dialog onClose for testing let capturedDialogOnClose: (() => void) | null = null diff --git a/web/app/components/base/dropdown/index.spec.tsx b/web/app/components/base/dropdown/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/dropdown/index.spec.tsx rename to web/app/components/base/dropdown/__tests__/index.spec.tsx index 7d61b332d4..9820554e3d 100644 --- a/web/app/components/base/dropdown/index.spec.tsx +++ b/web/app/components/base/dropdown/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { act, cleanup, fireEvent, render, screen } from '@testing-library/react' -import Dropdown from './index' +import Dropdown from '../index' describe('Dropdown Component', () => { const mockItems = [ diff --git a/web/app/components/base/effect/index.spec.tsx b/web/app/components/base/effect/__tests__/index.spec.tsx similarity index 91% rename from web/app/components/base/effect/index.spec.tsx rename to web/app/components/base/effect/__tests__/index.spec.tsx index 38410f6987..298abc3189 100644 --- a/web/app/components/base/effect/index.spec.tsx +++ b/web/app/components/base/effect/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render } from '@testing-library/react' -import Effect from '.' +import Effect from '..' describe('Effect', () => { it('applies custom class names', () => { diff --git a/web/app/components/base/emoji-picker/Inner.spec.tsx b/web/app/components/base/emoji-picker/__tests__/Inner.spec.tsx similarity index 99% rename from web/app/components/base/emoji-picker/Inner.spec.tsx rename to web/app/components/base/emoji-picker/__tests__/Inner.spec.tsx index cd993af9e8..eac18dd48a 100644 --- a/web/app/components/base/emoji-picker/Inner.spec.tsx +++ b/web/app/components/base/emoji-picker/__tests__/Inner.spec.tsx @@ -1,5 +1,5 @@ import { act, fireEvent, render, screen, waitFor } from '@testing-library/react' -import EmojiPickerInner from './Inner' +import EmojiPickerInner from '../Inner' vi.mock('@emoji-mart/data', () => ({ default: { diff --git a/web/app/components/base/emoji-picker/index.spec.tsx b/web/app/components/base/emoji-picker/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/emoji-picker/index.spec.tsx rename to web/app/components/base/emoji-picker/__tests__/index.spec.tsx index f554549cee..5eb6593213 100644 --- a/web/app/components/base/emoji-picker/index.spec.tsx +++ b/web/app/components/base/emoji-picker/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { act, fireEvent, render, screen } from '@testing-library/react' -import EmojiPicker from './index' +import EmojiPicker from '../index' vi.mock('@emoji-mart/data', () => ({ default: { diff --git a/web/app/components/base/encrypted-bottom/index.spec.tsx b/web/app/components/base/encrypted-bottom/__tests__/index.spec.tsx similarity index 94% rename from web/app/components/base/encrypted-bottom/index.spec.tsx rename to web/app/components/base/encrypted-bottom/__tests__/index.spec.tsx index aeeb546fe9..914cc7fcda 100644 --- a/web/app/components/base/encrypted-bottom/index.spec.tsx +++ b/web/app/components/base/encrypted-bottom/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import { EncryptedBottom } from '.' +import { EncryptedBottom } from '..' describe('EncryptedBottom', () => { it('applies custom class names', () => { diff --git a/web/app/components/base/error-boundary/index.spec.tsx b/web/app/components/base/error-boundary/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/error-boundary/index.spec.tsx rename to web/app/components/base/error-boundary/__tests__/index.spec.tsx index 1caca84d79..234f22833d 100644 --- a/web/app/components/base/error-boundary/index.spec.tsx +++ b/web/app/components/base/error-boundary/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' import * as React from 'react' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' -import ErrorBoundary, { ErrorFallback, useAsyncError, useErrorHandler, withErrorBoundary } from './index' +import ErrorBoundary, { ErrorFallback, useAsyncError, useErrorHandler, withErrorBoundary } from '../index' const mockConfig = vi.hoisted(() => ({ isDev: false, diff --git a/web/app/components/base/features/context.spec.tsx b/web/app/components/base/features/__tests__/context.spec.tsx similarity index 96% rename from web/app/components/base/features/context.spec.tsx rename to web/app/components/base/features/__tests__/context.spec.tsx index e57cbd82c2..64bfb256f2 100644 --- a/web/app/components/base/features/context.spec.tsx +++ b/web/app/components/base/features/__tests__/context.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import * as React from 'react' import { useContext } from 'react' -import { FeaturesContext, FeaturesProvider } from './context' +import { FeaturesContext, FeaturesProvider } from '../context' const TestConsumer = () => { const store = useContext(FeaturesContext) diff --git a/web/app/components/base/features/hooks.spec.ts b/web/app/components/base/features/__tests__/hooks.spec.ts similarity index 92% rename from web/app/components/base/features/hooks.spec.ts rename to web/app/components/base/features/__tests__/hooks.spec.ts index aa0aa1e85e..52f3e846ce 100644 --- a/web/app/components/base/features/hooks.spec.ts +++ b/web/app/components/base/features/__tests__/hooks.spec.ts @@ -1,8 +1,8 @@ import { renderHook } from '@testing-library/react' import * as React from 'react' -import { FeaturesContext } from './context' -import { useFeatures, useFeaturesStore } from './hooks' -import { createFeaturesStore } from './store' +import { FeaturesContext } from '../context' +import { useFeatures, useFeaturesStore } from '../hooks' +import { createFeaturesStore } from '../store' describe('useFeatures', () => { it('should return selected state from the store when useFeatures is called with selector', () => { diff --git a/web/app/components/base/features/store.spec.ts b/web/app/components/base/features/__tests__/store.spec.ts similarity index 99% rename from web/app/components/base/features/store.spec.ts rename to web/app/components/base/features/__tests__/store.spec.ts index fc2cf8822e..0a4f03d76a 100644 --- a/web/app/components/base/features/store.spec.ts +++ b/web/app/components/base/features/__tests__/store.spec.ts @@ -1,5 +1,5 @@ import { Resolution, TransferMethod } from '@/types/app' -import { createFeaturesStore } from './store' +import { createFeaturesStore } from '../store' describe('createFeaturesStore', () => { describe('Default State', () => { diff --git a/web/app/components/base/features/new-feature-panel/citation.spec.tsx b/web/app/components/base/features/new-feature-panel/__tests__/citation.spec.tsx similarity index 90% rename from web/app/components/base/features/new-feature-panel/citation.spec.tsx rename to web/app/components/base/features/new-feature-panel/__tests__/citation.spec.tsx index ed50ea9337..a6ad863071 100644 --- a/web/app/components/base/features/new-feature-panel/citation.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/__tests__/citation.spec.tsx @@ -1,8 +1,8 @@ -import type { OnFeaturesChange } from '../types' +import type { OnFeaturesChange } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import { FeaturesProvider } from '../context' -import Citation from './citation' +import { FeaturesProvider } from '../../context' +import Citation from '../citation' const renderWithProvider = (props: { disabled?: boolean, onChange?: OnFeaturesChange } = {}) => { return render( diff --git a/web/app/components/base/features/new-feature-panel/dialog-wrapper.spec.tsx b/web/app/components/base/features/new-feature-panel/__tests__/dialog-wrapper.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/dialog-wrapper.spec.tsx rename to web/app/components/base/features/new-feature-panel/__tests__/dialog-wrapper.spec.tsx index b5f8f71d60..374976c366 100644 --- a/web/app/components/base/features/new-feature-panel/dialog-wrapper.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/__tests__/dialog-wrapper.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import DialogWrapper from './dialog-wrapper' +import DialogWrapper from '../dialog-wrapper' describe('DialogWrapper', () => { beforeEach(() => { diff --git a/web/app/components/base/features/new-feature-panel/feature-bar.spec.tsx b/web/app/components/base/features/new-feature-panel/__tests__/feature-bar.spec.tsx similarity index 97% rename from web/app/components/base/features/new-feature-panel/feature-bar.spec.tsx rename to web/app/components/base/features/new-feature-panel/__tests__/feature-bar.spec.tsx index a02b70c01e..48b91c4836 100644 --- a/web/app/components/base/features/new-feature-panel/feature-bar.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/__tests__/feature-bar.spec.tsx @@ -1,7 +1,7 @@ -import type { Features } from '../types' +import type { Features } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' -import { FeaturesProvider } from '../context' -import FeatureBar from './feature-bar' +import { FeaturesProvider } from '../../context' +import FeatureBar from '../feature-bar' const defaultFeatures: Features = { moreLikeThis: { enabled: false }, diff --git a/web/app/components/base/features/new-feature-panel/feature-card.spec.tsx b/web/app/components/base/features/new-feature-panel/__tests__/feature-card.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/feature-card.spec.tsx rename to web/app/components/base/features/new-feature-panel/__tests__/feature-card.spec.tsx index 1f4f1b9fad..0e925d9d02 100644 --- a/web/app/components/base/features/new-feature-panel/feature-card.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/__tests__/feature-card.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import FeatureCard from './feature-card' +import FeatureCard from '../feature-card' describe('FeatureCard', () => { const defaultProps = { diff --git a/web/app/components/base/features/new-feature-panel/follow-up.spec.tsx b/web/app/components/base/features/new-feature-panel/__tests__/follow-up.spec.tsx similarity index 90% rename from web/app/components/base/features/new-feature-panel/follow-up.spec.tsx rename to web/app/components/base/features/new-feature-panel/__tests__/follow-up.spec.tsx index 56df44df8f..0e7c6aa558 100644 --- a/web/app/components/base/features/new-feature-panel/follow-up.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/__tests__/follow-up.spec.tsx @@ -1,8 +1,8 @@ -import type { OnFeaturesChange } from '../types' +import type { OnFeaturesChange } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import { FeaturesProvider } from '../context' -import FollowUp from './follow-up' +import { FeaturesProvider } from '../../context' +import FollowUp from '../follow-up' const renderWithProvider = (props: { disabled?: boolean, onChange?: OnFeaturesChange } = {}) => { return render( diff --git a/web/app/components/base/features/new-feature-panel/index.spec.tsx b/web/app/components/base/features/new-feature-panel/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/__tests__/index.spec.tsx index 0122a148d3..20632c4954 100644 --- a/web/app/components/base/features/new-feature-panel/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ -import type { Features } from '../types' +import type { Features } from '../../types' import { render, screen } from '@testing-library/react' -import { FeaturesProvider } from '../context' -import NewFeaturePanel from './index' +import { FeaturesProvider } from '../../context' +import NewFeaturePanel from '../index' vi.mock('next/navigation', () => ({ useRouter: () => ({ push: vi.fn() }), diff --git a/web/app/components/base/features/new-feature-panel/more-like-this.spec.tsx b/web/app/components/base/features/new-feature-panel/__tests__/more-like-this.spec.tsx similarity index 91% rename from web/app/components/base/features/new-feature-panel/more-like-this.spec.tsx rename to web/app/components/base/features/new-feature-panel/__tests__/more-like-this.spec.tsx index 592e08a995..1d39b62f10 100644 --- a/web/app/components/base/features/new-feature-panel/more-like-this.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/__tests__/more-like-this.spec.tsx @@ -1,8 +1,8 @@ -import type { OnFeaturesChange } from '../types' +import type { OnFeaturesChange } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import { FeaturesProvider } from '../context' -import MoreLikeThis from './more-like-this' +import { FeaturesProvider } from '../../context' +import MoreLikeThis from '../more-like-this' const renderWithProvider = (props: { disabled?: boolean, onChange?: OnFeaturesChange } = {}) => { return render( diff --git a/web/app/components/base/features/new-feature-panel/speech-to-text.spec.tsx b/web/app/components/base/features/new-feature-panel/__tests__/speech-to-text.spec.tsx similarity index 89% rename from web/app/components/base/features/new-feature-panel/speech-to-text.spec.tsx rename to web/app/components/base/features/new-feature-panel/__tests__/speech-to-text.spec.tsx index 341065fe21..75e0962745 100644 --- a/web/app/components/base/features/new-feature-panel/speech-to-text.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/__tests__/speech-to-text.spec.tsx @@ -1,8 +1,8 @@ -import type { OnFeaturesChange } from '../types' +import type { OnFeaturesChange } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import { FeaturesProvider } from '../context' -import SpeechToText from './speech-to-text' +import { FeaturesProvider } from '../../context' +import SpeechToText from '../speech-to-text' const renderWithProvider = (props: { disabled?: boolean, onChange?: OnFeaturesChange } = {}) => { return render( diff --git a/web/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-button.spec.tsx b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/annotation-ctrl-button.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-button.spec.tsx rename to web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/annotation-ctrl-button.spec.tsx index 65f45d10de..e48bedff96 100644 --- a/web/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-button.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/annotation-ctrl-button.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import AnnotationCtrlButton from './annotation-ctrl-button' +import AnnotationCtrlButton from '../annotation-ctrl-button' const mockSetShowAnnotationFullModal = vi.fn() vi.mock('@/context/modal-context', () => ({ diff --git a/web/app/components/base/features/new-feature-panel/annotation-reply/config-param-modal.spec.tsx b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/config-param-modal.spec.tsx similarity index 99% rename from web/app/components/base/features/new-feature-panel/annotation-reply/config-param-modal.spec.tsx rename to web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/config-param-modal.spec.tsx index d541c006f6..1ef95e9e2d 100644 --- a/web/app/components/base/features/new-feature-panel/annotation-reply/config-param-modal.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/config-param-modal.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' import Toast from '@/app/components/base/toast' -import ConfigParamModal from './config-param-modal' +import ConfigParamModal from '../config-param-modal' let mockHooksReturn: { modelList: { provider: { provider: string }, models: { model: string }[] }[] diff --git a/web/app/components/base/features/new-feature-panel/annotation-reply/config-param.spec.tsx b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/config-param.spec.tsx similarity index 96% rename from web/app/components/base/features/new-feature-panel/annotation-reply/config-param.spec.tsx rename to web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/config-param.spec.tsx index 8d8a8e55cb..35adef0a7d 100644 --- a/web/app/components/base/features/new-feature-panel/annotation-reply/config-param.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/config-param.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import { Item } from './config-param' +import { Item } from '../config-param' describe('ConfigParam Item', () => { it('should render title text', () => { diff --git a/web/app/components/base/features/new-feature-panel/annotation-reply/index.spec.tsx b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/annotation-reply/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/index.spec.tsx index ce9e2f7cf2..b7cf84a3a8 100644 --- a/web/app/components/base/features/new-feature-panel/annotation-reply/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/index.spec.tsx @@ -1,8 +1,8 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { fireEvent, render, screen } from '@testing-library/react' -import { FeaturesProvider } from '../../context' -import AnnotationReply from './index' +import { FeaturesProvider } from '../../../context' +import AnnotationReply from '../index' const mockPush = vi.fn() vi.mock('next/navigation', () => ({ diff --git a/web/app/components/base/features/new-feature-panel/annotation-reply/type.spec.ts b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/type.spec.ts similarity index 83% rename from web/app/components/base/features/new-feature-panel/annotation-reply/type.spec.ts rename to web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/type.spec.ts index 0bbb6d695b..6d22b4d42f 100644 --- a/web/app/components/base/features/new-feature-panel/annotation-reply/type.spec.ts +++ b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/type.spec.ts @@ -1,4 +1,4 @@ -import { PageType } from './type' +import { PageType } from '../type' describe('PageType', () => { it('should have log and annotation values', () => { diff --git a/web/app/components/base/features/new-feature-panel/annotation-reply/use-annotation-config.spec.ts b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/use-annotation-config.spec.ts similarity index 99% rename from web/app/components/base/features/new-feature-panel/annotation-reply/use-annotation-config.spec.ts rename to web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/use-annotation-config.spec.ts index f7ea3a0117..7c1d94aea6 100644 --- a/web/app/components/base/features/new-feature-panel/annotation-reply/use-annotation-config.spec.ts +++ b/web/app/components/base/features/new-feature-panel/annotation-reply/__tests__/use-annotation-config.spec.ts @@ -1,6 +1,6 @@ import type { AnnotationReplyConfig } from '@/models/debug' import { act, renderHook } from '@testing-library/react' -import useAnnotationConfig from './use-annotation-config' +import useAnnotationConfig from '../use-annotation-config' let mockIsAnnotationFull = false vi.mock('@/context/provider-context', () => ({ diff --git a/web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/index.spec.tsx b/web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/__tests__/index.spec.tsx index 008c6369e1..2bc30e4ead 100644 --- a/web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import ScoreSlider from './index' +import ScoreSlider from '../index' vi.mock('@/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider', () => ({ default: ({ value, onChange, min, max }: { value: number, onChange: (v: number) => void, min: number, max: number }) => ( diff --git a/web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/index.spec.tsx b/web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/__tests__/index.spec.tsx index 21e187091c..815e8ffe49 100644 --- a/web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import Slider from './index' +import Slider from '../index' describe('BaseSlider', () => { beforeEach(() => { diff --git a/web/app/components/base/features/new-feature-panel/conversation-opener/index.spec.tsx b/web/app/components/base/features/new-feature-panel/conversation-opener/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/features/new-feature-panel/conversation-opener/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/conversation-opener/__tests__/index.spec.tsx index 20e85c9378..a21b34e4ea 100644 --- a/web/app/components/base/features/new-feature-panel/conversation-opener/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/conversation-opener/__tests__/index.spec.tsx @@ -1,8 +1,8 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { fireEvent, render, screen } from '@testing-library/react' -import { FeaturesProvider } from '../../context' -import ConversationOpener from './index' +import { FeaturesProvider } from '../../../context' +import ConversationOpener from '../index' const mockSetShowOpeningModal = vi.fn() vi.mock('@/context/modal-context', () => ({ diff --git a/web/app/components/base/features/new-feature-panel/conversation-opener/modal.spec.tsx b/web/app/components/base/features/new-feature-panel/conversation-opener/__tests__/modal.spec.tsx similarity index 99% rename from web/app/components/base/features/new-feature-panel/conversation-opener/modal.spec.tsx rename to web/app/components/base/features/new-feature-panel/conversation-opener/__tests__/modal.spec.tsx index c5acda4bd5..f03763d192 100644 --- a/web/app/components/base/features/new-feature-panel/conversation-opener/modal.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/conversation-opener/__tests__/modal.spec.tsx @@ -3,7 +3,7 @@ import type { InputVar } from '@/app/components/workflow/types' import { act, fireEvent, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { InputVarType } from '@/app/components/workflow/types' -import OpeningSettingModal from './modal' +import OpeningSettingModal from '../modal' const getPromptEditor = () => { const editor = document.querySelector('[data-lexical-editor="true"]') diff --git a/web/app/components/base/features/new-feature-panel/file-upload/index.spec.tsx b/web/app/components/base/features/new-feature-panel/file-upload/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/features/new-feature-panel/file-upload/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/file-upload/__tests__/index.spec.tsx index b39156c196..cc3ab3fcc0 100644 --- a/web/app/components/base/features/new-feature-panel/file-upload/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/file-upload/__tests__/index.spec.tsx @@ -1,8 +1,8 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import { FeaturesProvider } from '../../context' -import FileUpload from './index' +import { FeaturesProvider } from '../../../context' +import FileUpload from '../index' vi.mock('@/service/use-common', () => ({ useFileUploadConfig: () => ({ data: undefined }), diff --git a/web/app/components/base/features/new-feature-panel/file-upload/setting-content.spec.tsx b/web/app/components/base/features/new-feature-panel/file-upload/__tests__/setting-content.spec.tsx similarity index 97% rename from web/app/components/base/features/new-feature-panel/file-upload/setting-content.spec.tsx rename to web/app/components/base/features/new-feature-panel/file-upload/__tests__/setting-content.spec.tsx index ca5b4677bf..37a0f38838 100644 --- a/web/app/components/base/features/new-feature-panel/file-upload/setting-content.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/file-upload/__tests__/setting-content.spec.tsx @@ -1,10 +1,10 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { fireEvent, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { TransferMethod } from '@/types/app' -import { FeaturesProvider } from '../../context' -import SettingContent from './setting-content' +import { FeaturesProvider } from '../../../context' +import SettingContent from '../setting-content' vi.mock('@/app/components/workflow/nodes/_base/components/file-upload-setting', () => ({ default: ({ payload, onChange }: { payload: Record, onChange: (p: Record) => void }) => ( diff --git a/web/app/components/base/features/new-feature-panel/file-upload/setting-modal.spec.tsx b/web/app/components/base/features/new-feature-panel/file-upload/__tests__/setting-modal.spec.tsx similarity index 96% rename from web/app/components/base/features/new-feature-panel/file-upload/setting-modal.spec.tsx rename to web/app/components/base/features/new-feature-panel/file-upload/__tests__/setting-modal.spec.tsx index b3a78c438f..afa690f31a 100644 --- a/web/app/components/base/features/new-feature-panel/file-upload/setting-modal.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/file-upload/__tests__/setting-modal.spec.tsx @@ -1,8 +1,8 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import { fireEvent, render, screen, waitFor } from '@testing-library/react' import { TransferMethod } from '@/types/app' -import { FeaturesProvider } from '../../context' -import FileUploadSettings from './setting-modal' +import { FeaturesProvider } from '../../../context' +import FileUploadSettings from '../setting-modal' vi.mock('@/service/use-common', () => ({ useFileUploadConfig: () => ({ data: undefined }), diff --git a/web/app/components/base/features/new-feature-panel/image-upload/index.spec.tsx b/web/app/components/base/features/new-feature-panel/image-upload/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/features/new-feature-panel/image-upload/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/image-upload/__tests__/index.spec.tsx index 1590efdd75..321c0c353d 100644 --- a/web/app/components/base/features/new-feature-panel/image-upload/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/image-upload/__tests__/index.spec.tsx @@ -1,8 +1,8 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import { FeaturesProvider } from '../../context' -import ImageUpload from './index' +import { FeaturesProvider } from '../../../context' +import ImageUpload from '../index' vi.mock('@/service/use-common', () => ({ useFileUploadConfig: () => ({ data: undefined }), diff --git a/web/app/components/base/features/new-feature-panel/moderation/form-generation.spec.tsx b/web/app/components/base/features/new-feature-panel/moderation/__tests__/form-generation.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/moderation/form-generation.spec.tsx rename to web/app/components/base/features/new-feature-panel/moderation/__tests__/form-generation.spec.tsx index 14f35dc6b4..c0d2594f28 100644 --- a/web/app/components/base/features/new-feature-panel/moderation/form-generation.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/moderation/__tests__/form-generation.spec.tsx @@ -1,7 +1,7 @@ import type { I18nText } from '@/i18n-config/language' import type { CodeBasedExtensionForm } from '@/models/common' import { fireEvent, render, screen } from '@testing-library/react' -import FormGeneration from './form-generation' +import FormGeneration from '../form-generation' const i18n = (en: string, zh = en): I18nText => ({ 'en-US': en, 'zh-Hans': zh }) as unknown as I18nText diff --git a/web/app/components/base/features/new-feature-panel/moderation/index.spec.tsx b/web/app/components/base/features/new-feature-panel/moderation/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/moderation/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/moderation/__tests__/index.spec.tsx index 5c829f3560..0a8ba930ee 100644 --- a/web/app/components/base/features/new-feature-panel/moderation/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/moderation/__tests__/index.spec.tsx @@ -1,8 +1,8 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { fireEvent, render, screen } from '@testing-library/react' -import { FeaturesProvider } from '../../context' -import Moderation from './index' +import { FeaturesProvider } from '../../../context' +import Moderation from '../index' const mockSetShowModerationSettingModal = vi.fn() vi.mock('@/context/modal-context', () => ({ diff --git a/web/app/components/base/features/new-feature-panel/moderation/moderation-content.spec.tsx b/web/app/components/base/features/new-feature-panel/moderation/__tests__/moderation-content.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/moderation/moderation-content.spec.tsx rename to web/app/components/base/features/new-feature-panel/moderation/__tests__/moderation-content.spec.tsx index ef9bb8ebd4..9caa38d5d4 100644 --- a/web/app/components/base/features/new-feature-panel/moderation/moderation-content.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/moderation/__tests__/moderation-content.spec.tsx @@ -1,6 +1,6 @@ import type { ModerationContentConfig } from '@/models/debug' import { fireEvent, render, screen } from '@testing-library/react' -import ModerationContent from './moderation-content' +import ModerationContent from '../moderation-content' const defaultConfig: ModerationContentConfig = { enabled: false, diff --git a/web/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.spec.tsx b/web/app/components/base/features/new-feature-panel/moderation/__tests__/moderation-setting-modal.spec.tsx similarity index 99% rename from web/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.spec.tsx rename to web/app/components/base/features/new-feature-panel/moderation/__tests__/moderation-setting-modal.spec.tsx index 79098f6816..3c690635da 100644 --- a/web/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/moderation/__tests__/moderation-setting-modal.spec.tsx @@ -1,6 +1,6 @@ import type { ModerationConfig } from '@/models/debug' import { fireEvent, render, screen } from '@testing-library/react' -import ModerationSettingModal from './moderation-setting-modal' +import ModerationSettingModal from '../moderation-setting-modal' const mockNotify = vi.fn() vi.mock('@/app/components/base/toast', () => ({ diff --git a/web/app/components/base/features/new-feature-panel/text-to-speech/index.spec.tsx b/web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/features/new-feature-panel/text-to-speech/index.spec.tsx rename to web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/index.spec.tsx index a9623a8215..62d1a43925 100644 --- a/web/app/components/base/features/new-feature-panel/text-to-speech/index.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/index.spec.tsx @@ -1,9 +1,9 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { fireEvent, render, screen } from '@testing-library/react' import { TtsAutoPlay } from '@/types/app' -import { FeaturesProvider } from '../../context' -import TextToSpeech from './index' +import { FeaturesProvider } from '../../../context' +import TextToSpeech from '../index' vi.mock('@/i18n-config/language', () => ({ languages: [ diff --git a/web/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.spec.tsx b/web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/param-config-content.spec.tsx similarity index 98% rename from web/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.spec.tsx rename to web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/param-config-content.spec.tsx index b4a0dafd91..66d870f28f 100644 --- a/web/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/param-config-content.spec.tsx @@ -1,10 +1,10 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { TtsAutoPlay } from '@/types/app' -import { FeaturesProvider } from '../../context' -import ParamConfigContent from './param-config-content' +import { FeaturesProvider } from '../../../context' +import ParamConfigContent from '../param-config-content' let mockLanguages = [ { value: 'en-US', name: 'English', example: 'Hello world' }, diff --git a/web/app/components/base/features/new-feature-panel/text-to-speech/voice-settings.spec.tsx b/web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/voice-settings.spec.tsx similarity index 95% rename from web/app/components/base/features/new-feature-panel/text-to-speech/voice-settings.spec.tsx rename to web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/voice-settings.spec.tsx index d88d302f92..ce67d7a8d5 100644 --- a/web/app/components/base/features/new-feature-panel/text-to-speech/voice-settings.spec.tsx +++ b/web/app/components/base/features/new-feature-panel/text-to-speech/__tests__/voice-settings.spec.tsx @@ -1,7 +1,7 @@ -import type { Features } from '../../types' +import type { Features } from '../../../types' import { fireEvent, render, screen } from '@testing-library/react' -import { FeaturesProvider } from '../../context' -import VoiceSettings from './voice-settings' +import { FeaturesProvider } from '../../../context' +import VoiceSettings from '../voice-settings' vi.mock('next/navigation', () => ({ usePathname: () => '/app/test-app-id/configuration', diff --git a/web/app/components/base/file-icon/index.spec.tsx b/web/app/components/base/file-icon/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/file-icon/index.spec.tsx rename to web/app/components/base/file-icon/__tests__/index.spec.tsx index 526a889f34..7061b51627 100644 --- a/web/app/components/base/file-icon/index.spec.tsx +++ b/web/app/components/base/file-icon/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render } from '@testing-library/react' -import FileIcon from '.' +import FileIcon from '..' describe('File icon component', () => { const testCases = [ diff --git a/web/app/components/base/file-thumb/image-render.spec.tsx b/web/app/components/base/file-thumb/__tests__/image-render.spec.tsx similarity index 92% rename from web/app/components/base/file-thumb/image-render.spec.tsx rename to web/app/components/base/file-thumb/__tests__/image-render.spec.tsx index cef41b912c..7ccd3391df 100644 --- a/web/app/components/base/file-thumb/image-render.spec.tsx +++ b/web/app/components/base/file-thumb/__tests__/image-render.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import ImageRender from './image-render' +import ImageRender from '../image-render' describe('ImageRender Component', () => { const mockProps = { diff --git a/web/app/components/base/file-thumb/index.spec.tsx b/web/app/components/base/file-thumb/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/file-thumb/index.spec.tsx rename to web/app/components/base/file-thumb/__tests__/index.spec.tsx index 205e6f8d6f..368f14ae75 100644 --- a/web/app/components/base/file-thumb/index.spec.tsx +++ b/web/app/components/base/file-thumb/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import type { ImgHTMLAttributes } from 'react' import { fireEvent, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import FileThumb from './index' +import FileThumb from '../index' vi.mock('next/image', () => ({ __esModule: true, diff --git a/web/app/components/base/file-uploader/audio-preview.spec.tsx b/web/app/components/base/file-uploader/__tests__/audio-preview.spec.tsx similarity index 98% rename from web/app/components/base/file-uploader/audio-preview.spec.tsx rename to web/app/components/base/file-uploader/__tests__/audio-preview.spec.tsx index a2034b202a..5a5740ef0d 100644 --- a/web/app/components/base/file-uploader/audio-preview.spec.tsx +++ b/web/app/components/base/file-uploader/__tests__/audio-preview.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import AudioPreview from './audio-preview' +import AudioPreview from '../audio-preview' describe('AudioPreview', () => { beforeEach(() => { diff --git a/web/app/components/base/file-uploader/constants.spec.ts b/web/app/components/base/file-uploader/__tests__/constants.spec.ts similarity index 99% rename from web/app/components/base/file-uploader/constants.spec.ts rename to web/app/components/base/file-uploader/__tests__/constants.spec.ts index abe44aa842..7225fbcf04 100644 --- a/web/app/components/base/file-uploader/constants.spec.ts +++ b/web/app/components/base/file-uploader/__tests__/constants.spec.ts @@ -5,7 +5,7 @@ import { IMG_SIZE_LIMIT, MAX_FILE_UPLOAD_LIMIT, VIDEO_SIZE_LIMIT, -} from './constants' +} from '../constants' describe('file-uploader constants', () => { describe('size limit constants', () => { diff --git a/web/app/components/base/file-uploader/file-image-render.spec.tsx b/web/app/components/base/file-uploader/__tests__/file-image-render.spec.tsx similarity index 97% rename from web/app/components/base/file-uploader/file-image-render.spec.tsx rename to web/app/components/base/file-uploader/__tests__/file-image-render.spec.tsx index fa85011f5c..84c3b06e85 100644 --- a/web/app/components/base/file-uploader/file-image-render.spec.tsx +++ b/web/app/components/base/file-uploader/__tests__/file-image-render.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import FileImageRender from './file-image-render' +import FileImageRender from '../file-image-render' describe('FileImageRender', () => { beforeEach(() => { diff --git a/web/app/components/base/file-uploader/file-input.spec.tsx b/web/app/components/base/file-uploader/__tests__/file-input.spec.tsx similarity index 97% rename from web/app/components/base/file-uploader/file-input.spec.tsx rename to web/app/components/base/file-uploader/__tests__/file-input.spec.tsx index 73c7690e29..ac0070f9df 100644 --- a/web/app/components/base/file-uploader/file-input.spec.tsx +++ b/web/app/components/base/file-uploader/__tests__/file-input.spec.tsx @@ -1,12 +1,12 @@ -import type { FileEntity } from './types' +import type { FileEntity } from '../types' import type { FileUpload } from '@/app/components/base/features/types' import { fireEvent, render } from '@testing-library/react' -import FileInput from './file-input' -import { FileContextProvider } from './store' +import FileInput from '../file-input' +import { FileContextProvider } from '../store' const mockHandleLocalFileUpload = vi.fn() -vi.mock('./hooks', () => ({ +vi.mock('../hooks', () => ({ useFile: () => ({ handleLocalFileUpload: mockHandleLocalFileUpload, }), diff --git a/web/app/components/base/file-uploader/file-list-in-log.spec.tsx b/web/app/components/base/file-uploader/__tests__/file-list-in-log.spec.tsx similarity index 98% rename from web/app/components/base/file-uploader/file-list-in-log.spec.tsx rename to web/app/components/base/file-uploader/__tests__/file-list-in-log.spec.tsx index 0c1dff8759..f184850936 100644 --- a/web/app/components/base/file-uploader/file-list-in-log.spec.tsx +++ b/web/app/components/base/file-uploader/__tests__/file-list-in-log.spec.tsx @@ -1,7 +1,7 @@ -import type { FileEntity } from './types' +import type { FileEntity } from '../types' import { fireEvent, render, screen } from '@testing-library/react' import { TransferMethod } from '@/types/app' -import FileListInLog from './file-list-in-log' +import FileListInLog from '../file-list-in-log' const createFile = (overrides: Partial = {}): FileEntity => ({ id: `file-${Math.random()}`, diff --git a/web/app/components/base/file-uploader/file-type-icon.spec.tsx b/web/app/components/base/file-uploader/__tests__/file-type-icon.spec.tsx similarity index 96% rename from web/app/components/base/file-uploader/file-type-icon.spec.tsx rename to web/app/components/base/file-uploader/__tests__/file-type-icon.spec.tsx index 89b42b489d..1da3804878 100644 --- a/web/app/components/base/file-uploader/file-type-icon.spec.tsx +++ b/web/app/components/base/file-uploader/__tests__/file-type-icon.spec.tsx @@ -1,6 +1,6 @@ -import type { FileAppearanceTypeEnum } from './types' +import type { FileAppearanceTypeEnum } from '../types' import { render } from '@testing-library/react' -import FileTypeIcon from './file-type-icon' +import FileTypeIcon from '../file-type-icon' describe('FileTypeIcon', () => { beforeEach(() => { diff --git a/web/app/components/base/file-uploader/hooks.spec.ts b/web/app/components/base/file-uploader/__tests__/hooks.spec.ts similarity index 99% rename from web/app/components/base/file-uploader/hooks.spec.ts rename to web/app/components/base/file-uploader/__tests__/hooks.spec.ts index 5577b87649..00c64224aa 100644 --- a/web/app/components/base/file-uploader/hooks.spec.ts +++ b/web/app/components/base/file-uploader/__tests__/hooks.spec.ts @@ -1,8 +1,8 @@ -import type { FileEntity } from './types' +import type { FileEntity } from '../types' import type { FileUpload } from '@/app/components/base/features/types' import type { FileUploadConfigResponse } from '@/models/common' import { act, renderHook } from '@testing-library/react' -import { useFile, useFileSizeLimit } from './hooks' +import { useFile, useFileSizeLimit } from '../hooks' const mockNotify = vi.fn() @@ -19,7 +19,7 @@ vi.mock('@/app/components/base/toast', () => ({ const mockSetFiles = vi.fn() let mockStoreFiles: FileEntity[] = [] -vi.mock('./store', () => ({ +vi.mock('../store', () => ({ useFileStore: () => ({ getState: () => ({ files: mockStoreFiles, @@ -31,7 +31,7 @@ vi.mock('./store', () => ({ const mockFileUpload = vi.fn() const mockIsAllowedFileExtension = vi.fn().mockReturnValue(true) const mockGetSupportFileType = vi.fn().mockReturnValue('document') -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ fileUpload: (...args: unknown[]) => mockFileUpload(...args), getFileUploadErrorMessage: vi.fn().mockReturnValue('Upload error'), getSupportFileType: (...args: unknown[]) => mockGetSupportFileType(...args), diff --git a/web/app/components/base/file-uploader/pdf-preview.spec.tsx b/web/app/components/base/file-uploader/__tests__/pdf-preview.spec.tsx similarity index 98% rename from web/app/components/base/file-uploader/pdf-preview.spec.tsx rename to web/app/components/base/file-uploader/__tests__/pdf-preview.spec.tsx index df07a592ef..b3c48a7061 100644 --- a/web/app/components/base/file-uploader/pdf-preview.spec.tsx +++ b/web/app/components/base/file-uploader/__tests__/pdf-preview.spec.tsx @@ -1,8 +1,8 @@ import type { ReactNode } from 'react' import { fireEvent, render, screen } from '@testing-library/react' -import PdfPreview from './pdf-preview' +import PdfPreview from '../pdf-preview' -vi.mock('./pdf-highlighter-adapter', () => ({ +vi.mock('../pdf-highlighter-adapter', () => ({ PdfLoader: ({ children, beforeLoad }: { children: (doc: unknown) => ReactNode, beforeLoad: ReactNode }) => (
{beforeLoad} diff --git a/web/app/components/base/file-uploader/store.spec.tsx b/web/app/components/base/file-uploader/__tests__/store.spec.tsx similarity index 98% rename from web/app/components/base/file-uploader/store.spec.tsx rename to web/app/components/base/file-uploader/__tests__/store.spec.tsx index 96053498d9..89516873cc 100644 --- a/web/app/components/base/file-uploader/store.spec.tsx +++ b/web/app/components/base/file-uploader/__tests__/store.spec.tsx @@ -1,7 +1,7 @@ -import type { FileEntity } from './types' +import type { FileEntity } from '../types' import { render, renderHook, screen } from '@testing-library/react' import { TransferMethod } from '@/types/app' -import { createFileStore, FileContext, FileContextProvider, useFileStore, useStore } from './store' +import { createFileStore, FileContext, FileContextProvider, useFileStore, useStore } from '../store' const createMockFile = (overrides: Partial = {}): FileEntity => ({ id: 'file-1', diff --git a/web/app/components/base/file-uploader/utils.spec.ts b/web/app/components/base/file-uploader/__tests__/utils.spec.ts similarity index 98% rename from web/app/components/base/file-uploader/utils.spec.ts rename to web/app/components/base/file-uploader/__tests__/utils.spec.ts index 358fc586eb..7a4956307d 100644 --- a/web/app/components/base/file-uploader/utils.spec.ts +++ b/web/app/components/base/file-uploader/__tests__/utils.spec.ts @@ -1,9 +1,9 @@ -import type { FileEntity } from './types' +import type { FileEntity } from '../types' import { SupportUploadFileTypes } from '@/app/components/workflow/types' import { upload } from '@/service/base' import { TransferMethod } from '@/types/app' -import { FILE_EXTS } from '../prompt-editor/constants' -import { FileAppearanceTypeEnum } from './types' +import { FILE_EXTS } from '../../prompt-editor/constants' +import { FileAppearanceTypeEnum } from '../types' import { fileIsUploaded, fileUpload, @@ -17,7 +17,7 @@ import { getSupportFileExtensionList, getSupportFileType, isAllowedFileExtension, -} from './utils' +} from '../utils' vi.mock('@/service/base', () => ({ upload: vi.fn(), @@ -866,14 +866,14 @@ describe('file-uploader utils', () => { expect(fileIsUploaded({ uploadedId: '123', progress: 100, - } as any)).toBe(true) + } as Partial as FileEntity)).toBe(true) }) it('should identify remote files as uploaded', () => { expect(fileIsUploaded({ transferMethod: TransferMethod.remote_url, progress: 100, - } as any)).toBe(true) + } as Partial as FileEntity)).toBe(true) }) }) }) diff --git a/web/app/components/base/file-uploader/video-preview.spec.tsx b/web/app/components/base/file-uploader/__tests__/video-preview.spec.tsx similarity index 98% rename from web/app/components/base/file-uploader/video-preview.spec.tsx rename to web/app/components/base/file-uploader/__tests__/video-preview.spec.tsx index 2384281c8e..c95455caf3 100644 --- a/web/app/components/base/file-uploader/video-preview.spec.tsx +++ b/web/app/components/base/file-uploader/__tests__/video-preview.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render } from '@testing-library/react' -import VideoPreview from './video-preview' +import VideoPreview from '../video-preview' describe('VideoPreview', () => { beforeEach(() => { diff --git a/web/app/components/base/file-uploader/file-from-link-or-local/index.spec.tsx b/web/app/components/base/file-uploader/file-from-link-or-local/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/file-uploader/file-from-link-or-local/index.spec.tsx rename to web/app/components/base/file-uploader/file-from-link-or-local/__tests__/index.spec.tsx index 5227b9b2b2..9847aa863e 100644 --- a/web/app/components/base/file-uploader/file-from-link-or-local/index.spec.tsx +++ b/web/app/components/base/file-uploader/file-from-link-or-local/__tests__/index.spec.tsx @@ -1,8 +1,8 @@ -import type { FileEntity } from '../types' +import type { FileEntity } from '../../types' import type { FileUpload } from '@/app/components/base/features/types' import { fireEvent, render, screen } from '@testing-library/react' -import { FileContextProvider } from '../store' -import FileFromLinkOrLocal from './index' +import { FileContextProvider } from '../../store' +import FileFromLinkOrLocal from '../index' let mockFiles: FileEntity[] = [] @@ -11,7 +11,7 @@ function createStubFile(id: string): FileEntity { } const mockHandleLoadFileFromLink = vi.fn() -vi.mock('../hooks', () => ({ +vi.mock('../../hooks', () => ({ useFile: () => ({ handleLoadFileFromLink: mockHandleLoadFileFromLink, }), diff --git a/web/app/components/base/file-uploader/file-uploader-in-attachment/file-item.spec.tsx b/web/app/components/base/file-uploader/file-uploader-in-attachment/__tests__/file-item.spec.tsx similarity index 99% rename from web/app/components/base/file-uploader/file-uploader-in-attachment/file-item.spec.tsx rename to web/app/components/base/file-uploader/file-uploader-in-attachment/__tests__/file-item.spec.tsx index 72d4643955..b2198680f5 100644 --- a/web/app/components/base/file-uploader/file-uploader-in-attachment/file-item.spec.tsx +++ b/web/app/components/base/file-uploader/file-uploader-in-attachment/__tests__/file-item.spec.tsx @@ -1,8 +1,8 @@ -import type { FileEntity } from '../types' +import type { FileEntity } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' import { PreviewMode } from '@/app/components/base/features/types' import { TransferMethod } from '@/types/app' -import FileInAttachmentItem from './file-item' +import FileInAttachmentItem from '../file-item' vi.mock('@/utils/download', () => ({ downloadUrl: vi.fn(), diff --git a/web/app/components/base/file-uploader/file-uploader-in-attachment/index.spec.tsx b/web/app/components/base/file-uploader/file-uploader-in-attachment/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/file-uploader/file-uploader-in-attachment/index.spec.tsx rename to web/app/components/base/file-uploader/file-uploader-in-attachment/__tests__/index.spec.tsx index 81946e0d1c..895c960ae9 100644 --- a/web/app/components/base/file-uploader/file-uploader-in-attachment/index.spec.tsx +++ b/web/app/components/base/file-uploader/file-uploader-in-attachment/__tests__/index.spec.tsx @@ -1,12 +1,12 @@ -import type { FileEntity } from '../types' +import type { FileEntity } from '../../types' import type { FileUpload } from '@/app/components/base/features/types' import { fireEvent, render, screen } from '@testing-library/react' import { TransferMethod } from '@/types/app' -import FileUploaderInAttachmentWrapper from './index' +import FileUploaderInAttachmentWrapper from '../index' const mockHandleRemoveFile = vi.fn() const mockHandleReUploadFile = vi.fn() -vi.mock('../hooks', () => ({ +vi.mock('../../hooks', () => ({ useFile: () => ({ handleRemoveFile: mockHandleRemoveFile, handleReUploadFile: mockHandleReUploadFile, diff --git a/web/app/components/base/file-uploader/file-uploader-in-chat-input/file-image-item.spec.tsx b/web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-image-item.spec.tsx similarity index 99% rename from web/app/components/base/file-uploader/file-uploader-in-chat-input/file-image-item.spec.tsx rename to web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-image-item.spec.tsx index e30c6c886c..2bc418cf1d 100644 --- a/web/app/components/base/file-uploader/file-uploader-in-chat-input/file-image-item.spec.tsx +++ b/web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-image-item.spec.tsx @@ -1,7 +1,7 @@ -import type { FileEntity } from '../types' +import type { FileEntity } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' import { TransferMethod } from '@/types/app' -import FileImageItem from './file-image-item' +import FileImageItem from '../file-image-item' vi.mock('@/utils/download', () => ({ downloadUrl: vi.fn(), diff --git a/web/app/components/base/file-uploader/file-uploader-in-chat-input/file-item.spec.tsx b/web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-item.spec.tsx similarity index 98% rename from web/app/components/base/file-uploader/file-uploader-in-chat-input/file-item.spec.tsx rename to web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-item.spec.tsx index 92ce1a5e9e..c03f009cee 100644 --- a/web/app/components/base/file-uploader/file-uploader-in-chat-input/file-item.spec.tsx +++ b/web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-item.spec.tsx @@ -1,7 +1,7 @@ -import type { FileEntity } from '../types' +import type { FileEntity } from '../../types' import { fireEvent, render, screen } from '@testing-library/react' import { TransferMethod } from '@/types/app' -import FileItem from './file-item' +import FileItem from '../file-item' vi.mock('@/utils/download', () => ({ downloadUrl: vi.fn(), @@ -11,7 +11,7 @@ vi.mock('@/utils/format', () => ({ formatFileSize: (size: number) => `${size}B`, })) -vi.mock('../dynamic-pdf-preview', () => ({ +vi.mock('../../dynamic-pdf-preview', () => ({ default: ({ url, onCancel }: { url: string, onCancel: () => void }) => (
diff --git a/web/app/components/base/file-uploader/file-uploader-in-chat-input/file-list.spec.tsx b/web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-list.spec.tsx similarity index 95% rename from web/app/components/base/file-uploader/file-uploader-in-chat-input/file-list.spec.tsx rename to web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-list.spec.tsx index cae64eb6cb..de0ae72e35 100644 --- a/web/app/components/base/file-uploader/file-uploader-in-chat-input/file-list.spec.tsx +++ b/web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/file-list.spec.tsx @@ -1,11 +1,11 @@ -import type { FileEntity } from '../types' +import type { FileEntity } from '../../types' import type { FileUpload } from '@/app/components/base/features/types' import { render, screen } from '@testing-library/react' import { TransferMethod } from '@/types/app' -import { FileContextProvider } from '../store' -import { FileList, FileListInChatInput } from './file-list' +import { FileContextProvider } from '../../store' +import { FileList, FileListInChatInput } from '../file-list' -vi.mock('../hooks', () => ({ +vi.mock('../../hooks', () => ({ useFile: () => ({ handleRemoveFile: vi.fn(), handleReUploadFile: vi.fn(), diff --git a/web/app/components/base/file-uploader/file-uploader-in-chat-input/index.spec.tsx b/web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/file-uploader/file-uploader-in-chat-input/index.spec.tsx rename to web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/index.spec.tsx index 0cdde4835d..233dba7c8e 100644 --- a/web/app/components/base/file-uploader/file-uploader-in-chat-input/index.spec.tsx +++ b/web/app/components/base/file-uploader/file-uploader-in-chat-input/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import type { FileUpload } from '@/app/components/base/features/types' import { fireEvent, render, screen } from '@testing-library/react' -import { FileContextProvider } from '../store' -import FileUploaderInChatInput from './index' +import { FileContextProvider } from '../../store' +import FileUploaderInChatInput from '../index' vi.mock('@/types/app', async (importOriginal) => { const actual = await importOriginal() @@ -14,7 +14,7 @@ vi.mock('@/types/app', async (importOriginal) => { } }) -vi.mock('../hooks', () => ({ +vi.mock('../../hooks', () => ({ useFile: () => ({ handleLoadFileFromLink: vi.fn(), }), diff --git a/web/app/components/base/float-right-container/index.spec.tsx b/web/app/components/base/float-right-container/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/float-right-container/index.spec.tsx rename to web/app/components/base/float-right-container/__tests__/index.spec.tsx index 4cf87b189c..ee820230d8 100644 --- a/web/app/components/base/float-right-container/index.spec.tsx +++ b/web/app/components/base/float-right-container/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import FloatRightContainer from './index' +import FloatRightContainer from '../index' describe('FloatRightContainer', () => { beforeEach(() => { diff --git a/web/app/components/base/form/index.spec.tsx b/web/app/components/base/form/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/form/index.spec.tsx rename to web/app/components/base/form/__tests__/index.spec.tsx index 27dab0c9dc..683c43a8db 100644 --- a/web/app/components/base/form/index.spec.tsx +++ b/web/app/components/base/form/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import { useAppForm, withForm } from './index' +import { useAppForm, withForm } from '../index' const FormHarness = ({ onSubmit }: { onSubmit: (value: Record) => void }) => { const form = useAppForm({ diff --git a/web/app/components/base/form/types.spec.ts b/web/app/components/base/form/__tests__/types.spec.ts similarity index 88% rename from web/app/components/base/form/types.spec.ts rename to web/app/components/base/form/__tests__/types.spec.ts index 38d032bac7..baf76f99b1 100644 --- a/web/app/components/base/form/types.spec.ts +++ b/web/app/components/base/form/__tests__/types.spec.ts @@ -1,4 +1,4 @@ -import { FormItemValidateStatusEnum, FormTypeEnum } from './types' +import { FormItemValidateStatusEnum, FormTypeEnum } from '../types' describe('form types', () => { it('should expose expected form type values', () => { diff --git a/web/app/components/base/form/components/label.spec.tsx b/web/app/components/base/form/components/__tests__/label.spec.tsx similarity index 98% rename from web/app/components/base/form/components/label.spec.tsx rename to web/app/components/base/form/components/__tests__/label.spec.tsx index ebda6d5039..a3f564dafe 100644 --- a/web/app/components/base/form/components/label.spec.tsx +++ b/web/app/components/base/form/components/__tests__/label.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import Label from './label' +import Label from '../label' describe('Label', () => { const defaultProps = { diff --git a/web/app/components/base/form/components/base/base-field.spec.tsx b/web/app/components/base/form/components/base/__tests__/base-field.spec.tsx similarity index 99% rename from web/app/components/base/form/components/base/base-field.spec.tsx rename to web/app/components/base/form/components/base/__tests__/base-field.spec.tsx index 7c50b524a5..898dc8a821 100644 --- a/web/app/components/base/form/components/base/base-field.spec.tsx +++ b/web/app/components/base/form/components/base/__tests__/base-field.spec.tsx @@ -3,7 +3,7 @@ import type { FormSchema } from '@/app/components/base/form/types' import { useForm } from '@tanstack/react-form' import { fireEvent, render, screen } from '@testing-library/react' import { FormItemValidateStatusEnum, FormTypeEnum } from '@/app/components/base/form/types' -import BaseField from './base-field' +import BaseField from '../base-field' const mockDynamicOptions = vi.fn() diff --git a/web/app/components/base/form/components/base/base-form.spec.tsx b/web/app/components/base/form/components/base/__tests__/base-form.spec.tsx similarity index 98% rename from web/app/components/base/form/components/base/base-form.spec.tsx rename to web/app/components/base/form/components/base/__tests__/base-form.spec.tsx index 5d2c662aa3..f887aaea64 100644 --- a/web/app/components/base/form/components/base/base-form.spec.tsx +++ b/web/app/components/base/form/components/base/__tests__/base-form.spec.tsx @@ -1,7 +1,7 @@ import type { FormRefObject, FormSchema } from '@/app/components/base/form/types' import { act, fireEvent, render, screen } from '@testing-library/react' import { FormTypeEnum } from '@/app/components/base/form/types' -import BaseForm from './base-form' +import BaseForm from '../base-form' vi.mock('@/service/use-triggers', () => ({ useTriggerPluginDynamicOptions: () => ({ diff --git a/web/app/components/base/form/components/base/index.spec.tsx b/web/app/components/base/form/components/base/__tests__/index.spec.tsx similarity index 83% rename from web/app/components/base/form/components/base/index.spec.tsx rename to web/app/components/base/form/components/base/__tests__/index.spec.tsx index 16f9806b27..81190d75bd 100644 --- a/web/app/components/base/form/components/base/index.spec.tsx +++ b/web/app/components/base/form/components/base/__tests__/index.spec.tsx @@ -1,4 +1,4 @@ -import { BaseField, BaseForm } from '.' +import { BaseField, BaseForm } from '..' describe('base component exports', () => { it('should export BaseField', () => { diff --git a/web/app/components/base/form/components/field/checkbox.spec.tsx b/web/app/components/base/form/components/field/__tests__/checkbox.spec.tsx similarity index 92% rename from web/app/components/base/form/components/field/checkbox.spec.tsx rename to web/app/components/base/form/components/field/__tests__/checkbox.spec.tsx index ee7d8ee6ab..6005d9261b 100644 --- a/web/app/components/base/form/components/field/checkbox.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/checkbox.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import CheckboxField from './checkbox' +import CheckboxField from '../checkbox' const mockField = { name: 'checkbox-field', @@ -9,7 +9,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/custom-select.spec.tsx b/web/app/components/base/form/components/field/__tests__/custom-select.spec.tsx similarity index 93% rename from web/app/components/base/form/components/field/custom-select.spec.tsx rename to web/app/components/base/form/components/field/__tests__/custom-select.spec.tsx index 97f13758ec..5470df58a3 100644 --- a/web/app/components/base/form/components/field/custom-select.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/custom-select.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import CustomSelectField from './custom-select' +import CustomSelectField from '../custom-select' const mockField = { name: 'custom-select-field', @@ -9,7 +9,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/file-types.spec.tsx b/web/app/components/base/form/components/field/__tests__/file-types.spec.tsx similarity index 98% rename from web/app/components/base/form/components/field/file-types.spec.tsx rename to web/app/components/base/form/components/field/__tests__/file-types.spec.tsx index 0c2a95c655..971e04f258 100644 --- a/web/app/components/base/form/components/field/file-types.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/file-types.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen } from '@testing-library/react' import { SupportUploadFileTypes } from '@/app/components/workflow/types' -import FileTypesField from './file-types' +import FileTypesField from '../file-types' type FileTypeValue = { allowedFileTypes: string[] @@ -18,7 +18,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/file-uploader.spec.tsx b/web/app/components/base/form/components/field/__tests__/file-uploader.spec.tsx similarity index 96% rename from web/app/components/base/form/components/field/file-uploader.spec.tsx rename to web/app/components/base/form/components/field/__tests__/file-uploader.spec.tsx index c32d370346..dee7c97222 100644 --- a/web/app/components/base/form/components/field/file-uploader.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/file-uploader.spec.tsx @@ -1,7 +1,7 @@ import { fireEvent, render, screen } from '@testing-library/react' import { SupportUploadFileTypes } from '@/app/components/workflow/types' import { TransferMethod } from '@/types/app' -import FileUploaderField from './file-uploader' +import FileUploaderField from '../file-uploader' const mockField = { name: 'files', @@ -23,7 +23,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/number-input.spec.tsx b/web/app/components/base/form/components/field/__tests__/number-input.spec.tsx similarity index 90% rename from web/app/components/base/form/components/field/number-input.spec.tsx rename to web/app/components/base/form/components/field/__tests__/number-input.spec.tsx index 85c46f1df2..049e19d75e 100644 --- a/web/app/components/base/form/components/field/number-input.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/number-input.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import NumberInputField from './number-input' +import NumberInputField from '../number-input' const mockField = { name: 'number-field', @@ -10,7 +10,7 @@ const mockField = { handleBlur: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/number-slider.spec.tsx b/web/app/components/base/form/components/field/__tests__/number-slider.spec.tsx similarity index 93% rename from web/app/components/base/form/components/field/number-slider.spec.tsx rename to web/app/components/base/form/components/field/__tests__/number-slider.spec.tsx index a9676c4338..ca0e83462f 100644 --- a/web/app/components/base/form/components/field/number-slider.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/number-slider.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import NumberSliderField from './number-slider' +import NumberSliderField from '../number-slider' const mockField = { name: 'slider-field', @@ -9,7 +9,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/options.spec.tsx b/web/app/components/base/form/components/field/__tests__/options.spec.tsx similarity index 94% rename from web/app/components/base/form/components/field/options.spec.tsx rename to web/app/components/base/form/components/field/__tests__/options.spec.tsx index a7860079c6..93f956a4c5 100644 --- a/web/app/components/base/form/components/field/options.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/options.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import OptionsField from './options' +import OptionsField from '../options' const mockField = { name: 'options-field', @@ -9,7 +9,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/select.spec.tsx b/web/app/components/base/form/components/field/__tests__/select.spec.tsx similarity index 94% rename from web/app/components/base/form/components/field/select.spec.tsx rename to web/app/components/base/form/components/field/__tests__/select.spec.tsx index d38a9ac511..0bf6b4e022 100644 --- a/web/app/components/base/form/components/field/select.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/select.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import SelectField from './select' +import SelectField from '../select' const mockField = { name: 'select-field', @@ -9,7 +9,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/text-area.spec.tsx b/web/app/components/base/form/components/field/__tests__/text-area.spec.tsx similarity index 92% rename from web/app/components/base/form/components/field/text-area.spec.tsx rename to web/app/components/base/form/components/field/__tests__/text-area.spec.tsx index 78b1be14e5..00033cdad5 100644 --- a/web/app/components/base/form/components/field/text-area.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/text-area.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import TextAreaField from './text-area' +import TextAreaField from '../text-area' const mockField = { name: 'text-area-field', @@ -10,7 +10,7 @@ const mockField = { handleBlur: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/text.spec.tsx b/web/app/components/base/form/components/field/__tests__/text.spec.tsx similarity index 92% rename from web/app/components/base/form/components/field/text.spec.tsx rename to web/app/components/base/form/components/field/__tests__/text.spec.tsx index 5a3010c6b4..5ebc82e858 100644 --- a/web/app/components/base/form/components/field/text.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/text.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import TextField from './text' +import TextField from '../text' const mockField = { name: 'text-field', @@ -10,7 +10,7 @@ const mockField = { handleBlur: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/upload-method.spec.tsx b/web/app/components/base/form/components/field/__tests__/upload-method.spec.tsx similarity index 95% rename from web/app/components/base/form/components/field/upload-method.spec.tsx rename to web/app/components/base/form/components/field/__tests__/upload-method.spec.tsx index 27d937ffb2..652f1e9171 100644 --- a/web/app/components/base/form/components/field/upload-method.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/upload-method.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen } from '@testing-library/react' import { TransferMethod } from '@/types/app' -import UploadMethodField from './upload-method' +import UploadMethodField from '../upload-method' const mockField = { name: 'upload-method', @@ -10,7 +10,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../..', () => ({ +vi.mock('../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/variable-or-constant-input.spec.tsx b/web/app/components/base/form/components/field/__tests__/variable-or-constant-input.spec.tsx similarity index 96% rename from web/app/components/base/form/components/field/variable-or-constant-input.spec.tsx rename to web/app/components/base/form/components/field/__tests__/variable-or-constant-input.spec.tsx index 57db5ec0d6..5842f5c75b 100644 --- a/web/app/components/base/form/components/field/variable-or-constant-input.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/variable-or-constant-input.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import VariableOrConstantInputField from './variable-or-constant-input' +import VariableOrConstantInputField from '../variable-or-constant-input' vi.mock('@/app/components/workflow/nodes/_base/components/variable/var-reference-picker', () => ({ default: ({ onChange }: { onChange?: () => void }) => ( diff --git a/web/app/components/base/form/components/field/variable-selector.spec.tsx b/web/app/components/base/form/components/field/__tests__/variable-selector.spec.tsx similarity index 94% rename from web/app/components/base/form/components/field/variable-selector.spec.tsx rename to web/app/components/base/form/components/field/__tests__/variable-selector.spec.tsx index ba9e0e9ca7..df6f6b2531 100644 --- a/web/app/components/base/form/components/field/variable-selector.spec.tsx +++ b/web/app/components/base/form/components/field/__tests__/variable-selector.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import VariableSelectorField from './variable-selector' +import VariableSelectorField from '../variable-selector' vi.mock('@/app/components/workflow/nodes/_base/components/variable/var-reference-picker', () => ({ default: ({ onChange }: { onChange?: () => void }) => ( diff --git a/web/app/components/base/form/components/field/input-type-select/hooks.spec.tsx b/web/app/components/base/form/components/field/input-type-select/__tests__/hooks.spec.tsx similarity index 93% rename from web/app/components/base/form/components/field/input-type-select/hooks.spec.tsx rename to web/app/components/base/form/components/field/input-type-select/__tests__/hooks.spec.tsx index a556697db1..236bcc95ea 100644 --- a/web/app/components/base/form/components/field/input-type-select/hooks.spec.tsx +++ b/web/app/components/base/form/components/field/input-type-select/__tests__/hooks.spec.tsx @@ -1,5 +1,5 @@ import { renderHook } from '@testing-library/react' -import { useInputTypeOptions } from './hooks' +import { useInputTypeOptions } from '../hooks' describe('useInputTypeOptions', () => { it('should include file options when supportFile is true', () => { diff --git a/web/app/components/base/form/components/field/input-type-select/index.spec.tsx b/web/app/components/base/form/components/field/input-type-select/__tests__/index.spec.tsx similarity index 93% rename from web/app/components/base/form/components/field/input-type-select/index.spec.tsx rename to web/app/components/base/form/components/field/input-type-select/__tests__/index.spec.tsx index e31cf17af5..bb7ae80a34 100644 --- a/web/app/components/base/form/components/field/input-type-select/index.spec.tsx +++ b/web/app/components/base/form/components/field/input-type-select/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import InputTypeSelectField from './index' +import InputTypeSelectField from '../index' const mockField = { name: 'input-type', @@ -9,7 +9,7 @@ const mockField = { handleChange: vi.fn(), } -vi.mock('../../..', () => ({ +vi.mock('../../../..', () => ({ useFieldContext: () => mockField, })) diff --git a/web/app/components/base/form/components/field/input-type-select/option.spec.tsx b/web/app/components/base/form/components/field/input-type-select/__tests__/option.spec.tsx similarity index 94% rename from web/app/components/base/form/components/field/input-type-select/option.spec.tsx rename to web/app/components/base/form/components/field/input-type-select/__tests__/option.spec.tsx index 475ef20410..a3dc91193b 100644 --- a/web/app/components/base/form/components/field/input-type-select/option.spec.tsx +++ b/web/app/components/base/form/components/field/input-type-select/__tests__/option.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import Option from './option' +import Option from '../option' const MockIcon = () => diff --git a/web/app/components/base/form/components/field/input-type-select/trigger.spec.tsx b/web/app/components/base/form/components/field/input-type-select/__tests__/trigger.spec.tsx similarity index 95% rename from web/app/components/base/form/components/field/input-type-select/trigger.spec.tsx rename to web/app/components/base/form/components/field/input-type-select/__tests__/trigger.spec.tsx index 0bd2274703..0957ac41c1 100644 --- a/web/app/components/base/form/components/field/input-type-select/trigger.spec.tsx +++ b/web/app/components/base/form/components/field/input-type-select/__tests__/trigger.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import Trigger from './trigger' +import Trigger from '../trigger' const MockIcon = () => diff --git a/web/app/components/base/form/components/field/input-type-select/types.spec.ts b/web/app/components/base/form/components/field/input-type-select/__tests__/types.spec.ts similarity index 89% rename from web/app/components/base/form/components/field/input-type-select/types.spec.ts rename to web/app/components/base/form/components/field/input-type-select/__tests__/types.spec.ts index 3260f54ce4..5d2215f1fa 100644 --- a/web/app/components/base/form/components/field/input-type-select/types.spec.ts +++ b/web/app/components/base/form/components/field/input-type-select/__tests__/types.spec.ts @@ -1,4 +1,4 @@ -import { InputTypeEnum } from './types' +import { InputTypeEnum } from '../types' describe('InputTypeEnum', () => { it('should accept valid input types', () => { diff --git a/web/app/components/base/form/components/field/mixed-variable-text-input/index.spec.tsx b/web/app/components/base/form/components/field/mixed-variable-text-input/__tests__/index.spec.tsx similarity index 93% rename from web/app/components/base/form/components/field/mixed-variable-text-input/index.spec.tsx rename to web/app/components/base/form/components/field/mixed-variable-text-input/__tests__/index.spec.tsx index 94a0c8746f..3a6be12c58 100644 --- a/web/app/components/base/form/components/field/mixed-variable-text-input/index.spec.tsx +++ b/web/app/components/base/form/components/field/mixed-variable-text-input/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import MixedVariableTextInput from './index' +import MixedVariableTextInput from '../index' describe('MixedVariableTextInput', () => { it('should render placeholder guidance and data type badge', () => { diff --git a/web/app/components/base/form/components/field/mixed-variable-text-input/placeholder.spec.tsx b/web/app/components/base/form/components/field/mixed-variable-text-input/__tests__/placeholder.spec.tsx similarity index 98% rename from web/app/components/base/form/components/field/mixed-variable-text-input/placeholder.spec.tsx rename to web/app/components/base/form/components/field/mixed-variable-text-input/__tests__/placeholder.spec.tsx index 6ce68c3b47..093131d01f 100644 --- a/web/app/components/base/form/components/field/mixed-variable-text-input/placeholder.spec.tsx +++ b/web/app/components/base/form/components/field/mixed-variable-text-input/__tests__/placeholder.spec.tsx @@ -5,7 +5,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { $getRoot } from 'lexical' import { CustomTextNode } from '@/app/components/base/prompt-editor/plugins/custom-text/node' -import Placeholder from './placeholder' +import Placeholder from '../placeholder' const config = { namespace: 'placeholder-test', diff --git a/web/app/components/base/form/components/form/actions.spec.tsx b/web/app/components/base/form/components/form/__tests__/actions.spec.tsx similarity index 92% rename from web/app/components/base/form/components/form/actions.spec.tsx rename to web/app/components/base/form/components/form/__tests__/actions.spec.tsx index eb4a6ea146..0bd6655cb5 100644 --- a/web/app/components/base/form/components/form/actions.spec.tsx +++ b/web/app/components/base/form/components/form/__tests__/actions.spec.tsx @@ -1,8 +1,8 @@ -import type { FormType } from '../..' -import type { CustomActionsProps } from './actions' +import type { FormType } from '../../..' +import type { CustomActionsProps } from '../actions' import { fireEvent, render, screen } from '@testing-library/react' -import { formContext } from '../..' -import Actions from './actions' +import { formContext } from '../../..' +import Actions from '../actions' const renderWithForm = ({ canSubmit, diff --git a/web/app/components/base/form/form-scenarios/auth/index.spec.tsx b/web/app/components/base/form/form-scenarios/auth/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/form/form-scenarios/auth/index.spec.tsx rename to web/app/components/base/form/form-scenarios/auth/__tests__/index.spec.tsx index 5560e7eada..e12397ed60 100644 --- a/web/app/components/base/form/form-scenarios/auth/index.spec.tsx +++ b/web/app/components/base/form/form-scenarios/auth/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { render, screen } from '@testing-library/react' import { FormTypeEnum } from '@/app/components/base/form/types' -import AuthForm from './index' +import AuthForm from '../index' const formSchemas = [{ type: FormTypeEnum.textInput, diff --git a/web/app/components/base/form/form-scenarios/base/field.spec.tsx b/web/app/components/base/form/form-scenarios/base/__tests__/field.spec.tsx similarity index 96% rename from web/app/components/base/form/form-scenarios/base/field.spec.tsx rename to web/app/components/base/form/form-scenarios/base/__tests__/field.spec.tsx index c05f291103..7de473e4c8 100644 --- a/web/app/components/base/form/form-scenarios/base/field.spec.tsx +++ b/web/app/components/base/form/form-scenarios/base/__tests__/field.spec.tsx @@ -1,10 +1,10 @@ -import type { BaseConfiguration } from './types' +import type { BaseConfiguration } from '../types' import { render, screen } from '@testing-library/react' import { useMemo } from 'react' import { TransferMethod } from '@/types/app' -import { useAppForm } from '../..' -import BaseField from './field' -import { BaseFieldType } from './types' +import { useAppForm } from '../../..' +import BaseField from '../field' +import { BaseFieldType } from '../types' vi.mock('next/navigation', () => ({ useParams: () => ({}), diff --git a/web/app/components/base/form/form-scenarios/base/index.spec.tsx b/web/app/components/base/form/form-scenarios/base/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/form/form-scenarios/base/index.spec.tsx rename to web/app/components/base/form/form-scenarios/base/__tests__/index.spec.tsx index fc1aa325f2..c8d215b1d7 100644 --- a/web/app/components/base/form/form-scenarios/base/index.spec.tsx +++ b/web/app/components/base/form/form-scenarios/base/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import BaseForm from './index' -import { BaseFieldType } from './types' +import BaseForm from '../index' +import { BaseFieldType } from '../types' const baseConfigurations = [{ type: BaseFieldType.textInput, diff --git a/web/app/components/base/form/form-scenarios/base/types.spec.ts b/web/app/components/base/form/form-scenarios/base/__tests__/types.spec.ts similarity index 87% rename from web/app/components/base/form/form-scenarios/base/types.spec.ts rename to web/app/components/base/form/form-scenarios/base/__tests__/types.spec.ts index b565b5cd2a..33e402b78e 100644 --- a/web/app/components/base/form/form-scenarios/base/types.spec.ts +++ b/web/app/components/base/form/form-scenarios/base/__tests__/types.spec.ts @@ -1,4 +1,4 @@ -import { BaseFieldType } from './types' +import { BaseFieldType } from '../types' describe('base scenario types', () => { it('should include all supported base field types', () => { diff --git a/web/app/components/base/form/form-scenarios/base/utils.spec.ts b/web/app/components/base/form/form-scenarios/base/__tests__/utils.spec.ts similarity index 94% rename from web/app/components/base/form/form-scenarios/base/utils.spec.ts rename to web/app/components/base/form/form-scenarios/base/__tests__/utils.spec.ts index 2c11acd205..36a2cc1dd4 100644 --- a/web/app/components/base/form/form-scenarios/base/utils.spec.ts +++ b/web/app/components/base/form/form-scenarios/base/__tests__/utils.spec.ts @@ -1,5 +1,5 @@ -import { BaseFieldType } from './types' -import { generateZodSchema } from './utils' +import { BaseFieldType } from '../types' +import { generateZodSchema } from '../utils' describe('base scenario schema generator', () => { it('should validate required text fields with max length', () => { diff --git a/web/app/components/base/form/form-scenarios/demo/contact-fields.spec.tsx b/web/app/components/base/form/form-scenarios/demo/__tests__/contact-fields.spec.tsx similarity index 83% rename from web/app/components/base/form/form-scenarios/demo/contact-fields.spec.tsx rename to web/app/components/base/form/form-scenarios/demo/__tests__/contact-fields.spec.tsx index 7a97d3a48b..b8f67d58b9 100644 --- a/web/app/components/base/form/form-scenarios/demo/contact-fields.spec.tsx +++ b/web/app/components/base/form/form-scenarios/demo/__tests__/contact-fields.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' -import { useAppForm } from '../..' -import ContactFields from './contact-fields' -import { demoFormOpts } from './shared-options' +import { useAppForm } from '../../..' +import ContactFields from '../contact-fields' +import { demoFormOpts } from '../shared-options' const ContactFieldsHarness = () => { const form = useAppForm({ diff --git a/web/app/components/base/form/form-scenarios/demo/index.spec.tsx b/web/app/components/base/form/form-scenarios/demo/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/form/form-scenarios/demo/index.spec.tsx rename to web/app/components/base/form/form-scenarios/demo/__tests__/index.spec.tsx index d6534e8df7..e2a83b7ad4 100644 --- a/web/app/components/base/form/form-scenarios/demo/index.spec.tsx +++ b/web/app/components/base/form/form-scenarios/demo/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import DemoForm from './index' +import DemoForm from '../index' describe('DemoForm', () => { const consoleLogSpy = vi.spyOn(console, 'log').mockImplementation(() => {}) diff --git a/web/app/components/base/form/form-scenarios/demo/shared-options.spec.tsx b/web/app/components/base/form/form-scenarios/demo/__tests__/shared-options.spec.tsx similarity index 86% rename from web/app/components/base/form/form-scenarios/demo/shared-options.spec.tsx rename to web/app/components/base/form/form-scenarios/demo/__tests__/shared-options.spec.tsx index 5e44747612..70e078fcf5 100644 --- a/web/app/components/base/form/form-scenarios/demo/shared-options.spec.tsx +++ b/web/app/components/base/form/form-scenarios/demo/__tests__/shared-options.spec.tsx @@ -1,4 +1,4 @@ -import { demoFormOpts } from './shared-options' +import { demoFormOpts } from '../shared-options' describe('demoFormOpts', () => { it('should provide expected default values', () => { diff --git a/web/app/components/base/form/form-scenarios/demo/types.spec.ts b/web/app/components/base/form/form-scenarios/demo/__tests__/types.spec.ts similarity index 94% rename from web/app/components/base/form/form-scenarios/demo/types.spec.ts rename to web/app/components/base/form/form-scenarios/demo/__tests__/types.spec.ts index 8e81f24c1c..e164a190c8 100644 --- a/web/app/components/base/form/form-scenarios/demo/types.spec.ts +++ b/web/app/components/base/form/form-scenarios/demo/__tests__/types.spec.ts @@ -1,4 +1,4 @@ -import { ContactMethods, UserSchema } from './types' +import { ContactMethods, UserSchema } from '../types' describe('demo scenario types', () => { it('should expose contact methods with capitalized labels', () => { diff --git a/web/app/components/base/form/form-scenarios/input-field/field.spec.tsx b/web/app/components/base/form/form-scenarios/input-field/__tests__/field.spec.tsx similarity index 96% rename from web/app/components/base/form/form-scenarios/input-field/field.spec.tsx rename to web/app/components/base/form/form-scenarios/input-field/__tests__/field.spec.tsx index 0416c1532c..d89952f569 100644 --- a/web/app/components/base/form/form-scenarios/input-field/field.spec.tsx +++ b/web/app/components/base/form/form-scenarios/input-field/__tests__/field.spec.tsx @@ -1,9 +1,9 @@ -import type { InputFieldConfiguration } from './types' +import type { InputFieldConfiguration } from '../types' import { render, screen } from '@testing-library/react' import { useMemo } from 'react' -import { useAppForm } from '../..' -import InputField from './field' -import { InputFieldType } from './types' +import { useAppForm } from '../../..' +import InputField from '../field' +import { InputFieldType } from '../types' const createConfig = (overrides: Partial = {}): InputFieldConfiguration => ({ type: InputFieldType.textInput, diff --git a/web/app/components/base/form/form-scenarios/input-field/types.spec.ts b/web/app/components/base/form/form-scenarios/input-field/__tests__/types.spec.ts similarity index 89% rename from web/app/components/base/form/form-scenarios/input-field/types.spec.ts rename to web/app/components/base/form/form-scenarios/input-field/__tests__/types.spec.ts index b9328b2089..9347d1bb58 100644 --- a/web/app/components/base/form/form-scenarios/input-field/types.spec.ts +++ b/web/app/components/base/form/form-scenarios/input-field/__tests__/types.spec.ts @@ -1,4 +1,4 @@ -import { InputFieldType } from './types' +import { InputFieldType } from '../types' describe('input-field scenario types', () => { it('should include expected input field types', () => { diff --git a/web/app/components/base/form/form-scenarios/input-field/utils.spec.ts b/web/app/components/base/form/form-scenarios/input-field/__tests__/utils.spec.ts similarity index 97% rename from web/app/components/base/form/form-scenarios/input-field/utils.spec.ts rename to web/app/components/base/form/form-scenarios/input-field/__tests__/utils.spec.ts index 7f91d3cd70..fdb958b4ae 100644 --- a/web/app/components/base/form/form-scenarios/input-field/utils.spec.ts +++ b/web/app/components/base/form/form-scenarios/input-field/__tests__/utils.spec.ts @@ -1,5 +1,5 @@ -import { InputFieldType } from './types' -import { generateZodSchema } from './utils' +import { InputFieldType } from '../types' +import { generateZodSchema } from '../utils' describe('input-field scenario schema generator', () => { it('should validate required text input with max length', () => { diff --git a/web/app/components/base/form/form-scenarios/node-panel/field.spec.tsx b/web/app/components/base/form/form-scenarios/node-panel/__tests__/field.spec.tsx similarity index 96% rename from web/app/components/base/form/form-scenarios/node-panel/field.spec.tsx rename to web/app/components/base/form/form-scenarios/node-panel/__tests__/field.spec.tsx index b8388206c0..25808cfdda 100644 --- a/web/app/components/base/form/form-scenarios/node-panel/field.spec.tsx +++ b/web/app/components/base/form/form-scenarios/node-panel/__tests__/field.spec.tsx @@ -1,12 +1,12 @@ import type { ReactNode } from 'react' -import type { InputFieldConfiguration } from './types' +import type { InputFieldConfiguration } from '../types' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { render, screen } from '@testing-library/react' import { useMemo } from 'react' import { ReactFlowProvider } from 'reactflow' -import { useAppForm } from '../..' -import NodePanelField from './field' -import { InputFieldType } from './types' +import { useAppForm } from '../../..' +import NodePanelField from '../field' +import { InputFieldType } from '../types' vi.mock('@/app/components/workflow/nodes/_base/components/variable/var-reference-picker', () => ({ default: () =>
Variable Picker
, diff --git a/web/app/components/base/form/form-scenarios/node-panel/types.spec.ts b/web/app/components/base/form/form-scenarios/node-panel/__tests__/types.spec.ts similarity index 81% rename from web/app/components/base/form/form-scenarios/node-panel/types.spec.ts rename to web/app/components/base/form/form-scenarios/node-panel/__tests__/types.spec.ts index 8cd27eab08..b80e29652d 100644 --- a/web/app/components/base/form/form-scenarios/node-panel/types.spec.ts +++ b/web/app/components/base/form/form-scenarios/node-panel/__tests__/types.spec.ts @@ -1,4 +1,4 @@ -import { InputFieldType } from './types' +import { InputFieldType } from '../types' describe('node-panel scenario types', () => { it('should include variableOrConstant field type', () => { diff --git a/web/app/components/base/form/hooks/index.spec.ts b/web/app/components/base/form/hooks/__tests__/index.spec.ts similarity index 57% rename from web/app/components/base/form/hooks/index.spec.ts rename to web/app/components/base/form/hooks/__tests__/index.spec.ts index d76743702a..9c0ced74a7 100644 --- a/web/app/components/base/form/hooks/index.spec.ts +++ b/web/app/components/base/form/hooks/__tests__/index.spec.ts @@ -1,7 +1,7 @@ -import * as hookExports from './index' -import { useCheckValidated } from './use-check-validated' -import { useGetFormValues } from './use-get-form-values' -import { useGetValidators } from './use-get-validators' +import * as hookExports from '../index' +import { useCheckValidated } from '../use-check-validated' +import { useGetFormValues } from '../use-get-form-values' +import { useGetValidators } from '../use-get-validators' describe('hooks index exports', () => { it('should re-export all hook modules', () => { diff --git a/web/app/components/base/form/hooks/use-check-validated.spec.ts b/web/app/components/base/form/hooks/__tests__/use-check-validated.spec.ts similarity index 96% rename from web/app/components/base/form/hooks/use-check-validated.spec.ts rename to web/app/components/base/form/hooks/__tests__/use-check-validated.spec.ts index a8f15b403e..b9d60594f7 100644 --- a/web/app/components/base/form/hooks/use-check-validated.spec.ts +++ b/web/app/components/base/form/hooks/__tests__/use-check-validated.spec.ts @@ -1,7 +1,7 @@ import type { AnyFormApi } from '@tanstack/react-form' import { renderHook } from '@testing-library/react' -import { FormTypeEnum } from '../types' -import { useCheckValidated } from './use-check-validated' +import { FormTypeEnum } from '../../types' +import { useCheckValidated } from '../use-check-validated' const mockNotify = vi.fn() diff --git a/web/app/components/base/form/hooks/use-get-form-values.spec.ts b/web/app/components/base/form/hooks/__tests__/use-get-form-values.spec.ts similarity index 91% rename from web/app/components/base/form/hooks/use-get-form-values.spec.ts rename to web/app/components/base/form/hooks/__tests__/use-get-form-values.spec.ts index 163f959eff..8457bdcb8c 100644 --- a/web/app/components/base/form/hooks/use-get-form-values.spec.ts +++ b/web/app/components/base/form/hooks/__tests__/use-get-form-values.spec.ts @@ -1,18 +1,18 @@ import type { AnyFormApi } from '@tanstack/react-form' import { renderHook } from '@testing-library/react' -import { FormTypeEnum } from '../types' -import { useGetFormValues } from './use-get-form-values' +import { FormTypeEnum } from '../../types' +import { useGetFormValues } from '../use-get-form-values' const mockCheckValidated = vi.fn() const mockTransform = vi.fn() -vi.mock('./use-check-validated', () => ({ +vi.mock('../use-check-validated', () => ({ useCheckValidated: () => ({ checkValidated: mockCheckValidated, }), })) -vi.mock('../utils/secret-input', () => ({ +vi.mock('../../utils/secret-input', () => ({ getTransformedValuesWhenSecretInputPristine: (...args: unknown[]) => mockTransform(...args), })) diff --git a/web/app/components/base/form/hooks/use-get-validators.spec.ts b/web/app/components/base/form/hooks/__tests__/use-get-validators.spec.ts similarity index 96% rename from web/app/components/base/form/hooks/use-get-validators.spec.ts rename to web/app/components/base/form/hooks/__tests__/use-get-validators.spec.ts index 73c7b3f86d..b99056e44f 100644 --- a/web/app/components/base/form/hooks/use-get-validators.spec.ts +++ b/web/app/components/base/form/hooks/__tests__/use-get-validators.spec.ts @@ -1,7 +1,7 @@ import { renderHook } from '@testing-library/react' import { createElement } from 'react' -import { FormTypeEnum } from '../types' -import { useGetValidators } from './use-get-validators' +import { FormTypeEnum } from '../../types' +import { useGetValidators } from '../use-get-validators' vi.mock('@/hooks/use-i18n', () => ({ useRenderI18nObject: () => (obj: Record) => obj.en_US, diff --git a/web/app/components/base/form/utils/zod-submit-validator.spec.ts b/web/app/components/base/form/utils/__tests__/zod-submit-validator.spec.ts similarity index 94% rename from web/app/components/base/form/utils/zod-submit-validator.spec.ts rename to web/app/components/base/form/utils/__tests__/zod-submit-validator.spec.ts index 74635ae844..81bc77c7c3 100644 --- a/web/app/components/base/form/utils/zod-submit-validator.spec.ts +++ b/web/app/components/base/form/utils/__tests__/zod-submit-validator.spec.ts @@ -1,5 +1,5 @@ import * as z from 'zod' -import { zodSubmitValidator } from './zod-submit-validator' +import { zodSubmitValidator } from '../zod-submit-validator' describe('zodSubmitValidator', () => { it('should return undefined for valid values', () => { diff --git a/web/app/components/base/form/utils/secret-input/index.spec.ts b/web/app/components/base/form/utils/secret-input/__tests__/index.spec.ts similarity index 95% rename from web/app/components/base/form/utils/secret-input/index.spec.ts rename to web/app/components/base/form/utils/secret-input/__tests__/index.spec.ts index c5722007b6..c7e683841c 100644 --- a/web/app/components/base/form/utils/secret-input/index.spec.ts +++ b/web/app/components/base/form/utils/secret-input/__tests__/index.spec.ts @@ -1,6 +1,6 @@ import type { AnyFormApi } from '@tanstack/react-form' -import { FormTypeEnum } from '../../types' -import { getTransformedValuesWhenSecretInputPristine, transformFormSchemasSecretInput } from './index' +import { FormTypeEnum } from '../../../types' +import { getTransformedValuesWhenSecretInputPristine, transformFormSchemasSecretInput } from '../index' describe('secret input utilities', () => { it('should mask only selected truthy values in transformFormSchemasSecretInput', () => { diff --git a/web/app/components/base/fullscreen-modal/index.spec.tsx b/web/app/components/base/fullscreen-modal/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/fullscreen-modal/index.spec.tsx rename to web/app/components/base/fullscreen-modal/__tests__/index.spec.tsx index cf1484fc63..8affae3d57 100644 --- a/web/app/components/base/fullscreen-modal/index.spec.tsx +++ b/web/app/components/base/fullscreen-modal/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { act, fireEvent, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import FullScreenModal from './index' +import FullScreenModal from '../index' describe('FullScreenModal Component', () => { it('should not render anything when open is false', () => { diff --git a/web/app/components/base/ga/index.spec.tsx b/web/app/components/base/ga/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/ga/index.spec.tsx rename to web/app/components/base/ga/__tests__/index.spec.tsx index 954e0eba83..ee7f7a2a9d 100644 --- a/web/app/components/base/ga/index.spec.tsx +++ b/web/app/components/base/ga/__tests__/index.spec.tsx @@ -61,7 +61,7 @@ vi.mock('next/script', () => ({ })) const loadComponent = async () => { - const mod = await import('./index') + const mod = await import('../index') // mod.default is either an async function (server component) or // a React.memo object whose .type is the async function. const rawExport = mod.default as unknown diff --git a/web/app/components/base/grid-mask/index.spec.tsx b/web/app/components/base/grid-mask/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/grid-mask/index.spec.tsx rename to web/app/components/base/grid-mask/__tests__/index.spec.tsx index 28d806a69b..5aa4868c33 100644 --- a/web/app/components/base/grid-mask/index.spec.tsx +++ b/web/app/components/base/grid-mask/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' -import GridMask from './index' -import Style from './style.module.css' +import GridMask from '../index' +import Style from '../style.module.css' function renderGridMask(props: Partial> = {}, children: React.ReactNode = Child) { const { container } = render({children}) diff --git a/web/app/components/base/icons/IconBase.spec.tsx b/web/app/components/base/icons/__tests__/IconBase.spec.tsx similarity index 92% rename from web/app/components/base/icons/IconBase.spec.tsx rename to web/app/components/base/icons/__tests__/IconBase.spec.tsx index ba5efd8429..e833d5355b 100644 --- a/web/app/components/base/icons/IconBase.spec.tsx +++ b/web/app/components/base/icons/__tests__/IconBase.spec.tsx @@ -1,11 +1,11 @@ -import type { IconData } from './IconBase' +import type { IconData } from '../IconBase' import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import IconBase from './IconBase' -import * as utils from './utils' +import IconBase from '../IconBase' +import * as utils from '../utils' // Mock the utils module -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ generate: vi.fn((icon, key, props) => ( { describe('normalizeAttrs', () => { diff --git a/web/app/components/base/image-gallery/index.spec.tsx b/web/app/components/base/image-gallery/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/image-gallery/index.spec.tsx rename to web/app/components/base/image-gallery/__tests__/index.spec.tsx index 96967b541c..61187f1c5f 100644 --- a/web/app/components/base/image-gallery/index.spec.tsx +++ b/web/app/components/base/image-gallery/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import ImageGallery, { ImageGalleryTest } from '.' +import ImageGallery, { ImageGalleryTest } from '..' const getImages = (container: HTMLElement) => container.querySelectorAll('img') diff --git a/web/app/components/base/image-uploader/audio-preview.spec.tsx b/web/app/components/base/image-uploader/__tests__/audio-preview.spec.tsx similarity index 98% rename from web/app/components/base/image-uploader/audio-preview.spec.tsx rename to web/app/components/base/image-uploader/__tests__/audio-preview.spec.tsx index 72cfa7621d..0c92afba0a 100644 --- a/web/app/components/base/image-uploader/audio-preview.spec.tsx +++ b/web/app/components/base/image-uploader/__tests__/audio-preview.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import AudioPreview from './audio-preview' +import AudioPreview from '../audio-preview' describe('AudioPreview', () => { const defaultProps = { diff --git a/web/app/components/base/image-uploader/chat-image-uploader.spec.tsx b/web/app/components/base/image-uploader/__tests__/chat-image-uploader.spec.tsx similarity index 98% rename from web/app/components/base/image-uploader/chat-image-uploader.spec.tsx rename to web/app/components/base/image-uploader/__tests__/chat-image-uploader.spec.tsx index 80ef06410d..97954f79b0 100644 --- a/web/app/components/base/image-uploader/chat-image-uploader.spec.tsx +++ b/web/app/components/base/image-uploader/__tests__/chat-image-uploader.spec.tsx @@ -1,9 +1,9 @@ -import type { useLocalFileUploader } from './hooks' +import type { useLocalFileUploader } from '../hooks' import type { ImageFile, VisionSettings } from '@/types/app' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { Resolution, TransferMethod } from '@/types/app' -import ChatImageUploader from './chat-image-uploader' +import ChatImageUploader from '../chat-image-uploader' type LocalUploaderArgs = Parameters[0] @@ -12,7 +12,7 @@ const mocks = vi.hoisted(() => ({ handleLocalFileUpload: vi.fn<(file: File) => void>(), })) -vi.mock('./hooks', () => ({ +vi.mock('../hooks', () => ({ useLocalFileUploader: (args: LocalUploaderArgs) => { mocks.hookArgs = args return { diff --git a/web/app/components/base/image-uploader/hooks.spec.ts b/web/app/components/base/image-uploader/__tests__/hooks.spec.ts similarity index 99% rename from web/app/components/base/image-uploader/hooks.spec.ts rename to web/app/components/base/image-uploader/__tests__/hooks.spec.ts index 1de5691690..4d150830d0 100644 --- a/web/app/components/base/image-uploader/hooks.spec.ts +++ b/web/app/components/base/image-uploader/__tests__/hooks.spec.ts @@ -2,7 +2,7 @@ import type { ClipboardEvent, DragEvent } from 'react' import type { ImageFile, VisionSettings } from '@/types/app' import { act, renderHook } from '@testing-library/react' import { Resolution, TransferMethod } from '@/types/app' -import { useClipboardUploader, useDraggableUploader, useImageFiles, useLocalFileUploader } from './hooks' +import { useClipboardUploader, useDraggableUploader, useImageFiles, useLocalFileUploader } from '../hooks' const mockNotify = vi.fn() vi.mock('@/app/components/base/toast', () => ({ @@ -17,7 +17,7 @@ const { mockImageUpload, mockGetImageUploadErrorMessage } = vi.hoisted(() => ({ mockImageUpload: vi.fn(), mockGetImageUploadErrorMessage: vi.fn(() => 'Upload error'), })) -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ imageUpload: mockImageUpload, getImageUploadErrorMessage: mockGetImageUploadErrorMessage, })) diff --git a/web/app/components/base/image-uploader/image-link-input.spec.tsx b/web/app/components/base/image-uploader/__tests__/image-link-input.spec.tsx similarity index 99% rename from web/app/components/base/image-uploader/image-link-input.spec.tsx rename to web/app/components/base/image-uploader/__tests__/image-link-input.spec.tsx index 209c5d4c0c..0e8fdaf72d 100644 --- a/web/app/components/base/image-uploader/image-link-input.spec.tsx +++ b/web/app/components/base/image-uploader/__tests__/image-link-input.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { TransferMethod } from '@/types/app' -import ImageLinkInput from './image-link-input' +import ImageLinkInput from '../image-link-input' describe('ImageLinkInput', () => { const defaultProps = { diff --git a/web/app/components/base/image-uploader/image-list.spec.tsx b/web/app/components/base/image-uploader/__tests__/image-list.spec.tsx similarity index 99% rename from web/app/components/base/image-uploader/image-list.spec.tsx rename to web/app/components/base/image-uploader/__tests__/image-list.spec.tsx index a00d6551f6..44353ca19f 100644 --- a/web/app/components/base/image-uploader/image-list.spec.tsx +++ b/web/app/components/base/image-uploader/__tests__/image-list.spec.tsx @@ -2,7 +2,7 @@ import type { ImageFile } from '@/types/app' import { fireEvent, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { TransferMethod } from '@/types/app' -import ImageList from './image-list' +import ImageList from '../image-list' const createLocalFile = (overrides: Partial = {}): ImageFile => ({ type: TransferMethod.local_file, diff --git a/web/app/components/base/image-uploader/image-preview.spec.tsx b/web/app/components/base/image-uploader/__tests__/image-preview.spec.tsx similarity index 99% rename from web/app/components/base/image-uploader/image-preview.spec.tsx rename to web/app/components/base/image-uploader/__tests__/image-preview.spec.tsx index 949ce01842..f7641f071f 100644 --- a/web/app/components/base/image-uploader/image-preview.spec.tsx +++ b/web/app/components/base/image-uploader/__tests__/image-preview.spec.tsx @@ -1,6 +1,6 @@ import { act, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import ImagePreview from './image-preview' +import ImagePreview from '../image-preview' type HotkeyHandler = () => void diff --git a/web/app/components/base/image-uploader/text-generation-image-uploader.spec.tsx b/web/app/components/base/image-uploader/__tests__/text-generation-image-uploader.spec.tsx similarity index 98% rename from web/app/components/base/image-uploader/text-generation-image-uploader.spec.tsx rename to web/app/components/base/image-uploader/__tests__/text-generation-image-uploader.spec.tsx index 5bba9135b7..90f5a96169 100644 --- a/web/app/components/base/image-uploader/text-generation-image-uploader.spec.tsx +++ b/web/app/components/base/image-uploader/__tests__/text-generation-image-uploader.spec.tsx @@ -1,9 +1,9 @@ -import type { useLocalFileUploader } from './hooks' +import type { useLocalFileUploader } from '../hooks' import type { ImageFile, VisionSettings } from '@/types/app' import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { Resolution, TransferMethod } from '@/types/app' -import TextGenerationImageUploader from './text-generation-image-uploader' +import TextGenerationImageUploader from '../text-generation-image-uploader' type LocalUploaderArgs = Parameters[0] @@ -18,7 +18,7 @@ const mocks = vi.hoisted(() => ({ localUploaderArgs: undefined as LocalUploaderArgs | undefined, })) -vi.mock('./hooks', () => ({ +vi.mock('../hooks', () => ({ useImageFiles: () => ({ files: mocks.files, onUpload: mocks.onUpload, diff --git a/web/app/components/base/image-uploader/uploader.spec.tsx b/web/app/components/base/image-uploader/__tests__/uploader.spec.tsx similarity index 97% rename from web/app/components/base/image-uploader/uploader.spec.tsx rename to web/app/components/base/image-uploader/__tests__/uploader.spec.tsx index 7fd916a497..416a56fec5 100644 --- a/web/app/components/base/image-uploader/uploader.spec.tsx +++ b/web/app/components/base/image-uploader/__tests__/uploader.spec.tsx @@ -1,9 +1,9 @@ import type { ComponentProps } from 'react' -import type { useLocalFileUploader } from './hooks' +import type { useLocalFileUploader } from '../hooks' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { ALLOW_FILE_EXTENSIONS } from '@/types/app' -import Uploader from './uploader' +import Uploader from '../uploader' type LocalUploaderArgs = Parameters[0] @@ -12,7 +12,7 @@ const mocks = vi.hoisted(() => ({ handleLocalFileUpload: vi.fn<(file: File) => void>(), })) -vi.mock('./hooks', () => ({ +vi.mock('../hooks', () => ({ useLocalFileUploader: (args: LocalUploaderArgs) => { mocks.hookArgs = args return { diff --git a/web/app/components/base/image-uploader/utils.spec.ts b/web/app/components/base/image-uploader/__tests__/utils.spec.ts similarity index 98% rename from web/app/components/base/image-uploader/utils.spec.ts rename to web/app/components/base/image-uploader/__tests__/utils.spec.ts index dff7fa25c3..0596287654 100644 --- a/web/app/components/base/image-uploader/utils.spec.ts +++ b/web/app/components/base/image-uploader/__tests__/utils.spec.ts @@ -1,7 +1,7 @@ import type { TFunction } from 'i18next' import { waitFor } from '@testing-library/react' import { upload } from '@/service/base' -import { getImageUploadErrorMessage, imageUpload } from './utils' +import { getImageUploadErrorMessage, imageUpload } from '../utils' vi.mock('@/service/base', () => ({ upload: vi.fn(), diff --git a/web/app/components/base/image-uploader/video-preview.spec.tsx b/web/app/components/base/image-uploader/__tests__/video-preview.spec.tsx similarity index 98% rename from web/app/components/base/image-uploader/video-preview.spec.tsx rename to web/app/components/base/image-uploader/__tests__/video-preview.spec.tsx index c9501b9059..f56a4b82e4 100644 --- a/web/app/components/base/image-uploader/video-preview.spec.tsx +++ b/web/app/components/base/image-uploader/__tests__/video-preview.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import VideoPreview from './video-preview' +import VideoPreview from '../video-preview' const getOverlay = () => screen.getByTestId('video-preview') const getCloseButton = () => screen.getByTestId('close-button') diff --git a/web/app/components/base/inline-delete-confirm/index.spec.tsx b/web/app/components/base/inline-delete-confirm/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/inline-delete-confirm/index.spec.tsx rename to web/app/components/base/inline-delete-confirm/__tests__/index.spec.tsx index b770fccc88..6d615554dc 100644 --- a/web/app/components/base/inline-delete-confirm/index.spec.tsx +++ b/web/app/components/base/inline-delete-confirm/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { cleanup, fireEvent, render } from '@testing-library/react' import * as React from 'react' import { createReactI18nextMock } from '@/test/i18n-mock' -import InlineDeleteConfirm from './index' +import InlineDeleteConfirm from '../index' // Mock react-i18next with custom translations for test assertions vi.mock('react-i18next', () => createReactI18nextMock({ diff --git a/web/app/components/base/input-number/index.spec.tsx b/web/app/components/base/input-number/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/input-number/index.spec.tsx rename to web/app/components/base/input-number/__tests__/index.spec.tsx index 0d6c8ac59b..7c4d7c512e 100644 --- a/web/app/components/base/input-number/index.spec.tsx +++ b/web/app/components/base/input-number/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import { InputNumber } from './index' +import { InputNumber } from '../index' describe('InputNumber Component', () => { const defaultProps = { diff --git a/web/app/components/base/input-with-copy/index.spec.tsx b/web/app/components/base/input-with-copy/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/input-with-copy/index.spec.tsx rename to web/app/components/base/input-with-copy/__tests__/index.spec.tsx index a5628c473f..2fcee9021c 100644 --- a/web/app/components/base/input-with-copy/index.spec.tsx +++ b/web/app/components/base/input-with-copy/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' import { createReactI18nextMock } from '@/test/i18n-mock' -import InputWithCopy from './index' +import InputWithCopy from '../index' // Create a controllable mock for useClipboard const mockCopy = vi.fn() diff --git a/web/app/components/base/input/index.spec.tsx b/web/app/components/base/input/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/input/index.spec.tsx rename to web/app/components/base/input/__tests__/index.spec.tsx index 0aaaf51af5..e62d2701d0 100644 --- a/web/app/components/base/input/index.spec.tsx +++ b/web/app/components/base/input/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' import { createReactI18nextMock } from '@/test/i18n-mock' -import Input, { inputVariants } from './index' +import Input, { inputVariants } from '../index' // Mock the i18n hook with custom translations for test assertions vi.mock('react-i18next', () => createReactI18nextMock({ @@ -103,7 +103,7 @@ describe('Input component', () => { }) it('applies large size variant correctly', () => { - render() + render() const input = screen.getByPlaceholderText('Please input') expect(input.className).toContain(inputVariants({ size: 'large' })) }) diff --git a/web/app/components/base/linked-apps-panel/index.spec.tsx b/web/app/components/base/linked-apps-panel/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/linked-apps-panel/index.spec.tsx rename to web/app/components/base/linked-apps-panel/__tests__/index.spec.tsx index fb7e2e7e2b..27408531c4 100644 --- a/web/app/components/base/linked-apps-panel/index.spec.tsx +++ b/web/app/components/base/linked-apps-panel/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import * as React from 'react' import { vi } from 'vitest' import { AppModeEnum } from '@/types/app' -import LinkedAppsPanel from './index' +import LinkedAppsPanel from '../index' vi.mock('next/link', () => ({ default: ({ children, href, className }: { children: React.ReactNode, href: string, className: string }) => ( diff --git a/web/app/components/base/list-empty/horizontal-line.spec.tsx b/web/app/components/base/list-empty/__tests__/horizontal-line.spec.tsx similarity index 95% rename from web/app/components/base/list-empty/horizontal-line.spec.tsx rename to web/app/components/base/list-empty/__tests__/horizontal-line.spec.tsx index 934183f1d3..c0d7178274 100644 --- a/web/app/components/base/list-empty/horizontal-line.spec.tsx +++ b/web/app/components/base/list-empty/__tests__/horizontal-line.spec.tsx @@ -1,6 +1,6 @@ import { render } from '@testing-library/react' import * as React from 'react' -import HorizontalLine from './horizontal-line' +import HorizontalLine from '../horizontal-line' describe('HorizontalLine', () => { describe('Render', () => { diff --git a/web/app/components/base/list-empty/index.spec.tsx b/web/app/components/base/list-empty/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/list-empty/index.spec.tsx rename to web/app/components/base/list-empty/__tests__/index.spec.tsx index aac1480a60..60523b29fa 100644 --- a/web/app/components/base/list-empty/index.spec.tsx +++ b/web/app/components/base/list-empty/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import * as React from 'react' -import ListEmpty from './index' +import ListEmpty from '../index' describe('ListEmpty Component', () => { describe('Render', () => { diff --git a/web/app/components/base/list-empty/vertical-line.spec.tsx b/web/app/components/base/list-empty/__tests__/vertical-line.spec.tsx similarity index 96% rename from web/app/components/base/list-empty/vertical-line.spec.tsx rename to web/app/components/base/list-empty/__tests__/vertical-line.spec.tsx index 47e071d7fa..2ff9934725 100644 --- a/web/app/components/base/list-empty/vertical-line.spec.tsx +++ b/web/app/components/base/list-empty/__tests__/vertical-line.spec.tsx @@ -1,6 +1,6 @@ import { render } from '@testing-library/react' import * as React from 'react' -import VerticalLine from './vertical-line' +import VerticalLine from '../vertical-line' describe('VerticalLine', () => { describe('Render', () => { diff --git a/web/app/components/base/loading/index.spec.tsx b/web/app/components/base/loading/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/loading/index.spec.tsx rename to web/app/components/base/loading/__tests__/index.spec.tsx index 5140f1216b..06847e453a 100644 --- a/web/app/components/base/loading/index.spec.tsx +++ b/web/app/components/base/loading/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render } from '@testing-library/react' import * as React from 'react' -import Loading from './index' +import Loading from '../index' describe('Loading Component', () => { it('renders correctly with default props', () => { diff --git a/web/app/components/base/logo/dify-logo.spec.tsx b/web/app/components/base/logo/__tests__/dify-logo.spec.tsx similarity index 98% rename from web/app/components/base/logo/dify-logo.spec.tsx rename to web/app/components/base/logo/__tests__/dify-logo.spec.tsx index 834fb8f28e..f465c47e03 100644 --- a/web/app/components/base/logo/dify-logo.spec.tsx +++ b/web/app/components/base/logo/__tests__/dify-logo.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import useTheme from '@/hooks/use-theme' import { Theme } from '@/types/app' -import DifyLogo from './dify-logo' +import DifyLogo from '../dify-logo' vi.mock('@/hooks/use-theme', () => ({ default: vi.fn(), diff --git a/web/app/components/base/logo/logo-embedded-chat-avatar.spec.tsx b/web/app/components/base/logo/__tests__/logo-embedded-chat-avatar.spec.tsx similarity index 93% rename from web/app/components/base/logo/logo-embedded-chat-avatar.spec.tsx rename to web/app/components/base/logo/__tests__/logo-embedded-chat-avatar.spec.tsx index f3c374dbd9..bfb15c1389 100644 --- a/web/app/components/base/logo/logo-embedded-chat-avatar.spec.tsx +++ b/web/app/components/base/logo/__tests__/logo-embedded-chat-avatar.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import LogoEmbeddedChatAvatar from './logo-embedded-chat-avatar' +import LogoEmbeddedChatAvatar from '../logo-embedded-chat-avatar' vi.mock('@/utils/var', () => ({ basePath: '/test-base-path', diff --git a/web/app/components/base/logo/logo-embedded-chat-header.spec.tsx b/web/app/components/base/logo/__tests__/logo-embedded-chat-header.spec.tsx similarity index 94% rename from web/app/components/base/logo/logo-embedded-chat-header.spec.tsx rename to web/app/components/base/logo/__tests__/logo-embedded-chat-header.spec.tsx index 74247036d3..66184ef46e 100644 --- a/web/app/components/base/logo/logo-embedded-chat-header.spec.tsx +++ b/web/app/components/base/logo/__tests__/logo-embedded-chat-header.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import LogoEmbeddedChatHeader from './logo-embedded-chat-header' +import LogoEmbeddedChatHeader from '../logo-embedded-chat-header' vi.mock('@/utils/var', () => ({ basePath: '/test-base-path', diff --git a/web/app/components/base/logo/logo-site.spec.tsx b/web/app/components/base/logo/__tests__/logo-site.spec.tsx similarity index 94% rename from web/app/components/base/logo/logo-site.spec.tsx rename to web/app/components/base/logo/__tests__/logo-site.spec.tsx index 956485305b..0ea8f42800 100644 --- a/web/app/components/base/logo/logo-site.spec.tsx +++ b/web/app/components/base/logo/__tests__/logo-site.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import LogoSite from './logo-site' +import LogoSite from '../logo-site' vi.mock('@/utils/var', () => ({ basePath: '/test-base-path', diff --git a/web/app/components/base/markdown-blocks/audio-block.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/audio-block.spec.tsx similarity index 98% rename from web/app/components/base/markdown-blocks/audio-block.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/audio-block.spec.tsx index 166de39a16..b24bc9a074 100644 --- a/web/app/components/base/markdown-blocks/audio-block.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/audio-block.spec.tsx @@ -5,7 +5,7 @@ import * as React from 'react' // AudioBlock.integration.spec.tsx import { beforeEach, describe, expect, it, vi } from 'vitest' -import AudioBlock from './audio-block' +import AudioBlock from '../audio-block' // Mock the nested AudioPlayer used by AudioGallery (do not mock AudioGallery itself) const audioPlayerMock = vi.fn() diff --git a/web/app/components/base/markdown-blocks/button.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/button.spec.tsx similarity index 98% rename from web/app/components/base/markdown-blocks/button.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/button.spec.tsx index 7a1b8e5827..305896f4f1 100644 --- a/web/app/components/base/markdown-blocks/button.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/button.spec.tsx @@ -7,11 +7,11 @@ import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' import { ChatContextProvider } from '@/app/components/base/chat/chat/context' -import MarkdownButton from './button' +import MarkdownButton from '../button' // Only mock the URL utility so behavior is deterministic const isValidUrlSpy = vi.fn() -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ isValidUrl: (u: string) => isValidUrlSpy(u), })) // test subject diff --git a/web/app/components/base/markdown-blocks/code-block.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/code-block.spec.tsx similarity index 99% rename from web/app/components/base/markdown-blocks/code-block.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/code-block.spec.tsx index c0e4434f9a..190825647a 100644 --- a/web/app/components/base/markdown-blocks/code-block.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/code-block.spec.tsx @@ -4,7 +4,7 @@ import userEvent from '@testing-library/user-event' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { Theme } from '@/types/app' -import CodeBlock from './code-block' +import CodeBlock from '../code-block' type UseThemeReturn = { theme: Theme diff --git a/web/app/components/base/markdown-blocks/form.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/form.spec.tsx similarity index 99% rename from web/app/components/base/markdown-blocks/form.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/form.spec.tsx index 0331c3653d..91c7da702d 100644 --- a/web/app/components/base/markdown-blocks/form.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/form.spec.tsx @@ -1,7 +1,7 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import dayjs from '@/app/components/base/date-and-time-picker/utils/dayjs' -import MarkdownForm from './form' +import MarkdownForm from '../form' type TextNode = { type: 'text' diff --git a/web/app/components/base/markdown-blocks/link.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/link.spec.tsx similarity index 98% rename from web/app/components/base/markdown-blocks/link.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/link.spec.tsx index 6fb0915cd9..ca68b2839d 100644 --- a/web/app/components/base/markdown-blocks/link.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/link.spec.tsx @@ -1,7 +1,7 @@ import { fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import Link from './link' +import Link from '../link' // ---- mocks ---- const mockOnSend = vi.fn() @@ -13,7 +13,7 @@ vi.mock('@/app/components/base/chat/chat/context', () => ({ })) const mockIsValidUrl = vi.fn() -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ isValidUrl: (url: string) => mockIsValidUrl(url), })) diff --git a/web/app/components/base/markdown-blocks/music.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/music.spec.tsx similarity index 97% rename from web/app/components/base/markdown-blocks/music.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/music.spec.tsx index 450c0b1c2c..111148cab0 100644 --- a/web/app/components/base/markdown-blocks/music.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/music.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import { beforeEach, describe, expect, it, vi } from 'vitest' import ErrorBoundary from '@/app/components/base/markdown/error-boundary' -import MarkdownMusic from './music' +import MarkdownMusic from '../music' describe('MarkdownMusic', () => { beforeEach(() => { diff --git a/web/app/components/base/markdown-blocks/paragraph.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/paragraph.spec.tsx similarity index 98% rename from web/app/components/base/markdown-blocks/paragraph.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/paragraph.spec.tsx index 1abfe246ba..557eb96197 100644 --- a/web/app/components/base/markdown-blocks/paragraph.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/paragraph.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { describe, expect, it, vi } from 'vitest' -import Paragraph from './paragraph' +import Paragraph from '../paragraph' vi.mock('@/app/components/base/image-gallery', () => ({ default: ({ srcs }: { srcs: string[] }) => ( diff --git a/web/app/components/base/markdown-blocks/plugin-img.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/plugin-img.spec.tsx similarity index 97% rename from web/app/components/base/markdown-blocks/plugin-img.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/plugin-img.spec.tsx index 0022542edb..a16699ccf4 100644 --- a/web/app/components/base/markdown-blocks/plugin-img.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/plugin-img.spec.tsx @@ -2,7 +2,7 @@ import { cleanup, render, screen } from '@testing-library/react' import * as React from 'react' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' -import { PluginImg } from './plugin-img' +import { PluginImg } from '../plugin-img' /* -------------------- Mocks -------------------- */ @@ -19,7 +19,7 @@ vi.mock('@/service/use-plugins', () => ({ })) const mockGetMarkdownImageURL = vi.fn() -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ getMarkdownImageURL: (src: string, pluginId?: string) => mockGetMarkdownImageURL(src, pluginId), })) diff --git a/web/app/components/base/markdown-blocks/plugin-paragraph.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/plugin-paragraph.spec.tsx similarity index 97% rename from web/app/components/base/markdown-blocks/plugin-paragraph.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/plugin-paragraph.spec.tsx index 5479ab81ac..4e6637d337 100644 --- a/web/app/components/base/markdown-blocks/plugin-paragraph.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/plugin-paragraph.spec.tsx @@ -3,15 +3,15 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { beforeEach, describe, expect, it, vi } from 'vitest' import { usePluginReadmeAsset } from '@/service/use-plugins' -import { PluginParagraph } from './plugin-paragraph' -import { getMarkdownImageURL } from './utils' +import { PluginParagraph } from '../plugin-paragraph' +import { getMarkdownImageURL } from '../utils' // Mock dependencies vi.mock('@/service/use-plugins', () => ({ usePluginReadmeAsset: vi.fn(), })) -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ getMarkdownImageURL: vi.fn(), })) diff --git a/web/app/components/base/markdown-blocks/pre-code.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/pre-code.spec.tsx similarity index 98% rename from web/app/components/base/markdown-blocks/pre-code.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/pre-code.spec.tsx index a3cc234e8f..fa3d37301d 100644 --- a/web/app/components/base/markdown-blocks/pre-code.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/pre-code.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import * as React from 'react' import { describe, expect, it } from 'vitest' -import PreCode from './pre-code' +import PreCode from '../pre-code' describe('PreCode Component', () => { it('renders children correctly inside the pre tag', () => { diff --git a/web/app/components/base/markdown-blocks/script-block.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/script-block.spec.tsx similarity index 97% rename from web/app/components/base/markdown-blocks/script-block.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/script-block.spec.tsx index 4bf0abc301..02db3205b7 100644 --- a/web/app/components/base/markdown-blocks/script-block.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/script-block.spec.tsx @@ -1,7 +1,7 @@ import { cleanup, render } from '@testing-library/react' import * as React from 'react' import { afterEach, describe, expect, it } from 'vitest' -import ScriptBlock from './script-block' +import ScriptBlock from '../script-block' afterEach(() => { cleanup() diff --git a/web/app/components/base/markdown-blocks/think-block.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/think-block.spec.tsx similarity index 99% rename from web/app/components/base/markdown-blocks/think-block.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/think-block.spec.tsx index a155b240b9..2cd31f9a49 100644 --- a/web/app/components/base/markdown-blocks/think-block.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/think-block.spec.tsx @@ -1,7 +1,7 @@ import { act, render, screen } from '@testing-library/react' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { ChatContextProvider } from '@/app/components/base/chat/chat/context' -import ThinkBlock from './think-block' +import ThinkBlock from '../think-block' // Mock react-i18next vi.mock('react-i18next', () => ({ diff --git a/web/app/components/base/markdown-blocks/video-block.spec.tsx b/web/app/components/base/markdown-blocks/__tests__/video-block.spec.tsx similarity index 96% rename from web/app/components/base/markdown-blocks/video-block.spec.tsx rename to web/app/components/base/markdown-blocks/__tests__/video-block.spec.tsx index 46f810453f..eabeb1fca1 100644 --- a/web/app/components/base/markdown-blocks/video-block.spec.tsx +++ b/web/app/components/base/markdown-blocks/__tests__/video-block.spec.tsx @@ -2,8 +2,8 @@ import { render } from '@testing-library/react' import * as React from 'react' import { describe, expect, it } from 'vitest' -import VideoGallery from '../video-gallery' -import VideoBlock from './video-block' +import VideoGallery from '../../video-gallery' +import VideoBlock from '../video-block' type ChildNode = { properties?: { diff --git a/web/app/components/base/markdown/error-boundary.spec.tsx b/web/app/components/base/markdown/__tests__/error-boundary.spec.tsx similarity index 96% rename from web/app/components/base/markdown/error-boundary.spec.tsx rename to web/app/components/base/markdown/__tests__/error-boundary.spec.tsx index 40a37d4504..f9afed4e94 100644 --- a/web/app/components/base/markdown/error-boundary.spec.tsx +++ b/web/app/components/base/markdown/__tests__/error-boundary.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import * as React from 'react' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' -import ErrorBoundary from './error-boundary' +import ErrorBoundary from '../error-boundary' import '@testing-library/jest-dom' describe('ErrorBoundary', () => { diff --git a/web/app/components/base/markdown/index.spec.tsx b/web/app/components/base/markdown/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/markdown/index.spec.tsx rename to web/app/components/base/markdown/__tests__/index.spec.tsx index bf315360ca..9a87811e30 100644 --- a/web/app/components/base/markdown/index.spec.tsx +++ b/web/app/components/base/markdown/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ -import type { SimplePluginInfo } from './react-markdown-wrapper' +import type { SimplePluginInfo } from '../react-markdown-wrapper' import { render, screen } from '@testing-library/react' -import { Markdown } from './index' +import { Markdown } from '../index' const { mockReactMarkdownWrapper } = vi.hoisted(() => ({ mockReactMarkdownWrapper: vi.fn(), diff --git a/web/app/components/base/markdown/markdown-utils.spec.ts b/web/app/components/base/markdown/__tests__/markdown-utils.spec.ts similarity index 97% rename from web/app/components/base/markdown/markdown-utils.spec.ts rename to web/app/components/base/markdown/__tests__/markdown-utils.spec.ts index 952dd52f73..dbdc419095 100644 --- a/web/app/components/base/markdown/markdown-utils.spec.ts +++ b/web/app/components/base/markdown/__tests__/markdown-utils.spec.ts @@ -9,11 +9,11 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' const loadModuleWithConfig = async (allowDataScheme: boolean) => { vi.resetModules() vi.doMock('@/config', () => ({ ALLOW_UNSAFE_DATA_SCHEME: allowDataScheme })) - return await import('./markdown-utils') + return await import('../markdown-utils') } describe('preprocessLaTeX', () => { - let mod: typeof import('./markdown-utils') + let mod: typeof import('../markdown-utils') beforeEach(async () => { // config value doesn't matter for LaTeX preprocessing, mock it false @@ -67,7 +67,7 @@ describe('preprocessLaTeX', () => { }) describe('preprocessThinkTag', () => { - let mod: typeof import('./markdown-utils') + let mod: typeof import('../markdown-utils') beforeEach(async () => { mod = await loadModuleWithConfig(false) diff --git a/web/app/components/base/markdown/react-markdown-wrapper.spec.tsx b/web/app/components/base/markdown/__tests__/react-markdown-wrapper.spec.tsx similarity index 98% rename from web/app/components/base/markdown/react-markdown-wrapper.spec.tsx rename to web/app/components/base/markdown/__tests__/react-markdown-wrapper.spec.tsx index 735222011b..46aa74b20a 100644 --- a/web/app/components/base/markdown/react-markdown-wrapper.spec.tsx +++ b/web/app/components/base/markdown/__tests__/react-markdown-wrapper.spec.tsx @@ -1,6 +1,6 @@ import type { PropsWithChildren, ReactNode } from 'react' import { render, screen } from '@testing-library/react' -import { ReactMarkdownWrapper } from './react-markdown-wrapper' +import { ReactMarkdownWrapper } from '../react-markdown-wrapper' vi.mock('@/app/components/base/markdown-blocks', () => ({ AudioBlock: ({ children }: PropsWithChildren) =>
{children}
, diff --git a/web/app/components/base/mermaid/index.spec.tsx b/web/app/components/base/mermaid/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/mermaid/index.spec.tsx rename to web/app/components/base/mermaid/__tests__/index.spec.tsx index 198f4de003..90f3559e63 100644 --- a/web/app/components/base/mermaid/index.spec.tsx +++ b/web/app/components/base/mermaid/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { act, fireEvent, render, screen, waitFor } from '@testing-library/react' import mermaid from 'mermaid' -import Flowchart from './index' +import Flowchart from '../index' vi.mock('mermaid', () => ({ default: { @@ -12,7 +12,7 @@ vi.mock('mermaid', () => ({ }, })) -vi.mock('./utils', async (importOriginal) => { +vi.mock('../utils', async (importOriginal) => { const actual = await importOriginal() as Record return { ...actual, @@ -231,7 +231,7 @@ describe('Mermaid Flowchart Component Module Isolation', () => { describe('Error Handling', () => { it('should handle initialization failure', async () => { const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => { }) - const { default: FlowchartFresh } = await import('./index') + const { default: FlowchartFresh } = await import('../index') vi.mocked(mermaidFresh.initialize).mockImplementationOnce(() => { throw new Error('Init fail') @@ -251,7 +251,7 @@ describe('Mermaid Flowchart Component Module Isolation', () => { // @ts-expect-error need to set undefined for testing mermaidFresh.mermaidAPI = undefined - const { default: FlowchartFresh } = await import('./index') + const { default: FlowchartFresh } = await import('../index') const { container } = render() @@ -284,7 +284,7 @@ describe('Mermaid Flowchart Component Module Isolation', () => { throw new Error('Config fail') }) const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => { }) - const { default: FlowchartFresh } = await import('./index') + const { default: FlowchartFresh } = await import('../index') await act(async () => { render() diff --git a/web/app/components/base/mermaid/utils.spec.ts b/web/app/components/base/mermaid/__tests__/utils.spec.ts similarity index 99% rename from web/app/components/base/mermaid/utils.spec.ts rename to web/app/components/base/mermaid/__tests__/utils.spec.ts index d698e1234c..6d237810db 100644 --- a/web/app/components/base/mermaid/utils.spec.ts +++ b/web/app/components/base/mermaid/__tests__/utils.spec.ts @@ -1,4 +1,4 @@ -import { cleanUpSvgCode, isMermaidCodeComplete, prepareMermaidCode, processSvgForTheme, sanitizeMermaidCode, svgToBase64, waitForDOMElement } from './utils' +import { cleanUpSvgCode, isMermaidCodeComplete, prepareMermaidCode, processSvgForTheme, sanitizeMermaidCode, svgToBase64, waitForDOMElement } from '../utils' describe('cleanUpSvgCode', () => { it('should replace old-style
tags with self-closing
', () => { diff --git a/web/app/components/base/message-log-modal/index.spec.tsx b/web/app/components/base/message-log-modal/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/message-log-modal/index.spec.tsx rename to web/app/components/base/message-log-modal/__tests__/index.spec.tsx index 10793c2ba0..1f01c87633 100644 --- a/web/app/components/base/message-log-modal/index.spec.tsx +++ b/web/app/components/base/message-log-modal/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import type { IChatItem } from '@/app/components/base/chat/chat/type' import { fireEvent, render, screen } from '@testing-library/react' import { useStore } from '@/app/components/app/store' -import MessageLogModal from './index' +import MessageLogModal from '../index' let clickAwayHandler: (() => void) | null = null vi.mock('ahooks', () => ({ diff --git a/web/app/components/base/modal-like-wrap/index.spec.tsx b/web/app/components/base/modal-like-wrap/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/modal-like-wrap/index.spec.tsx rename to web/app/components/base/modal-like-wrap/__tests__/index.spec.tsx index 60e3a4ca8c..dc7b0758fa 100644 --- a/web/app/components/base/modal-like-wrap/index.spec.tsx +++ b/web/app/components/base/modal-like-wrap/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { act, fireEvent, render, screen } from '@testing-library/react' -import ModalLikeWrap from '.' +import ModalLikeWrap from '..' describe('ModalLikeWrap', () => { const defaultProps = { diff --git a/web/app/components/base/modal/index.spec.tsx b/web/app/components/base/modal/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/modal/index.spec.tsx rename to web/app/components/base/modal/__tests__/index.spec.tsx index cab95c7cb1..da417b43ad 100644 --- a/web/app/components/base/modal/index.spec.tsx +++ b/web/app/components/base/modal/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { act, fireEvent, render, screen } from '@testing-library/react' -import Modal from '.' +import Modal from '..' describe('Modal', () => { describe('Render', () => { diff --git a/web/app/components/base/modal/modal.spec.tsx b/web/app/components/base/modal/__tests__/modal.spec.tsx similarity index 99% rename from web/app/components/base/modal/modal.spec.tsx rename to web/app/components/base/modal/__tests__/modal.spec.tsx index df2c3bd15d..c67b9a803b 100644 --- a/web/app/components/base/modal/modal.spec.tsx +++ b/web/app/components/base/modal/__tests__/modal.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import Modal from './modal' +import Modal from '../modal' describe('Modal Component', () => { const defaultProps = { diff --git a/web/app/components/base/new-audio-button/index.spec.tsx b/web/app/components/base/new-audio-button/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/new-audio-button/index.spec.tsx rename to web/app/components/base/new-audio-button/__tests__/index.spec.tsx index a30b06535a..64dd590012 100644 --- a/web/app/components/base/new-audio-button/index.spec.tsx +++ b/web/app/components/base/new-audio-button/__tests__/index.spec.tsx @@ -3,7 +3,7 @@ import userEvent from '@testing-library/user-event' import i18next from 'i18next' import { useParams, usePathname } from 'next/navigation' import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest' -import AudioBtn from './index' +import AudioBtn from '../index' const mockPlayAudio = vi.fn() const mockPauseAudio = vi.fn() diff --git a/web/app/components/base/node-status/index.spec.tsx b/web/app/components/base/node-status/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/node-status/index.spec.tsx rename to web/app/components/base/node-status/__tests__/index.spec.tsx index 566a537653..f74af4965e 100644 --- a/web/app/components/base/node-status/index.spec.tsx +++ b/web/app/components/base/node-status/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import NodeStatus, { NodeStatusEnum } from '.' +import NodeStatus, { NodeStatusEnum } from '..' describe('NodeStatus', () => { it('renders with default status (warning) and default message', () => { diff --git a/web/app/components/base/notion-connector/index.spec.tsx b/web/app/components/base/notion-connector/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/notion-connector/index.spec.tsx rename to web/app/components/base/notion-connector/__tests__/index.spec.tsx index 7ee799d002..578ffffdca 100644 --- a/web/app/components/base/notion-connector/index.spec.tsx +++ b/web/app/components/base/notion-connector/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import NotionConnector from './index' +import NotionConnector from '../index' describe('NotionConnector', () => { it('should render the layout and actual sub-components (Icons & Button)', () => { diff --git a/web/app/components/base/notion-icon/index.spec.tsx b/web/app/components/base/notion-icon/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/notion-icon/index.spec.tsx rename to web/app/components/base/notion-icon/__tests__/index.spec.tsx index 582beab054..26a2c7640e 100644 --- a/web/app/components/base/notion-icon/index.spec.tsx +++ b/web/app/components/base/notion-icon/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import NotionIcon from '.' +import NotionIcon from '..' describe('Notion Icon', () => { it('applies custom class names', () => { diff --git a/web/app/components/base/notion-page-selector/base.spec.tsx b/web/app/components/base/notion-page-selector/__tests__/base.spec.tsx similarity index 98% rename from web/app/components/base/notion-page-selector/base.spec.tsx rename to web/app/components/base/notion-page-selector/__tests__/base.spec.tsx index e978056667..e06ca0a53e 100644 --- a/web/app/components/base/notion-page-selector/base.spec.tsx +++ b/web/app/components/base/notion-page-selector/__tests__/base.spec.tsx @@ -1,4 +1,4 @@ -import type { DataSourceCredential } from '../../header/account-setting/data-source-page-new/types' +import type { DataSourceCredential } from '../../../header/account-setting/data-source-page-new/types' import type { DataSourceNotionWorkspace } from '@/models/common' import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' @@ -7,7 +7,7 @@ import { ACCOUNT_SETTING_TAB } from '@/app/components/header/account-setting/con import { CredentialTypeEnum } from '@/app/components/plugins/plugin-auth/types' import { useModalContextSelector } from '@/context/modal-context' import { useInvalidPreImportNotionPages, usePreImportNotionPages } from '@/service/knowledge/use-import' -import NotionPageSelector from './base' +import NotionPageSelector from '../base' vi.mock('@/service/knowledge/use-import', () => ({ usePreImportNotionPages: vi.fn(), diff --git a/web/app/components/base/notion-page-selector/credential-selector/index.spec.tsx b/web/app/components/base/notion-page-selector/credential-selector/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/notion-page-selector/credential-selector/index.spec.tsx rename to web/app/components/base/notion-page-selector/credential-selector/__tests__/index.spec.tsx index ff194a0086..efcf015ea5 100644 --- a/web/app/components/base/notion-page-selector/credential-selector/index.spec.tsx +++ b/web/app/components/base/notion-page-selector/credential-selector/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import CredentialSelector from './index' +import CredentialSelector from '../index' // Mock CredentialIcon since it's likely a complex component or uses next/image vi.mock('@/app/components/datasets/common/credential-icon', () => ({ diff --git a/web/app/components/base/notion-page-selector/page-selector/index.spec.tsx b/web/app/components/base/notion-page-selector/page-selector/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/notion-page-selector/page-selector/index.spec.tsx rename to web/app/components/base/notion-page-selector/page-selector/__tests__/index.spec.tsx index 1b0cc6653a..bfe3e7e0ef 100644 --- a/web/app/components/base/notion-page-selector/page-selector/index.spec.tsx +++ b/web/app/components/base/notion-page-selector/page-selector/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import type { DataSourceNotionPage, DataSourceNotionPageMap } from '@/models/com import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { beforeEach, describe, expect, it, vi } from 'vitest' -import PageSelector from './index' +import PageSelector from '../index' const buildPage = (overrides: Partial): DataSourceNotionPage => ({ page_id: 'page-id', diff --git a/web/app/components/base/notion-page-selector/search-input/index.spec.tsx b/web/app/components/base/notion-page-selector/search-input/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/notion-page-selector/search-input/index.spec.tsx rename to web/app/components/base/notion-page-selector/search-input/__tests__/index.spec.tsx index ecab087d71..39e7e09cf8 100644 --- a/web/app/components/base/notion-page-selector/search-input/index.spec.tsx +++ b/web/app/components/base/notion-page-selector/search-input/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import SearchInput from './index' +import SearchInput from '../index' describe('SearchInput', () => { it('should render with placeholder', () => { diff --git a/web/app/components/base/pagination/hook.spec.ts b/web/app/components/base/pagination/__tests__/hook.spec.ts similarity index 99% rename from web/app/components/base/pagination/hook.spec.ts rename to web/app/components/base/pagination/__tests__/hook.spec.ts index 284032df47..b65feab8f3 100644 --- a/web/app/components/base/pagination/hook.spec.ts +++ b/web/app/components/base/pagination/__tests__/hook.spec.ts @@ -1,5 +1,5 @@ import { renderHook } from '@testing-library/react' -import usePagination from './hook' +import usePagination from '../hook' const defaultProps = { currentPage: 0, diff --git a/web/app/components/base/pagination/index.spec.tsx b/web/app/components/base/pagination/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/pagination/index.spec.tsx rename to web/app/components/base/pagination/__tests__/index.spec.tsx index ef924c290b..aa3cf8e5f2 100644 --- a/web/app/components/base/pagination/index.spec.tsx +++ b/web/app/components/base/pagination/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { act, fireEvent, render, screen } from '@testing-library/react' -import CustomizedPagination from './index' +import CustomizedPagination from '../index' describe('CustomizedPagination', () => { const defaultProps = { diff --git a/web/app/components/base/pagination/pagination.spec.tsx b/web/app/components/base/pagination/__tests__/pagination.spec.tsx similarity index 99% rename from web/app/components/base/pagination/pagination.spec.tsx rename to web/app/components/base/pagination/__tests__/pagination.spec.tsx index 2374f8257a..21c3b41bff 100644 --- a/web/app/components/base/pagination/pagination.spec.tsx +++ b/web/app/components/base/pagination/__tests__/pagination.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import { Pagination } from './pagination' +import { Pagination } from '../pagination' // Helper to render Pagination with common defaults function renderPagination({ diff --git a/web/app/components/base/param-item/index-slider.spec.tsx b/web/app/components/base/param-item/__tests__/index-slider.spec.tsx similarity index 97% rename from web/app/components/base/param-item/index-slider.spec.tsx rename to web/app/components/base/param-item/__tests__/index-slider.spec.tsx index b0fa28a2d5..0048b89644 100644 --- a/web/app/components/base/param-item/index-slider.spec.tsx +++ b/web/app/components/base/param-item/__tests__/index-slider.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import ParamItem from '.' +import ParamItem from '..' describe('ParamItem Slider onChange', () => { const defaultProps = { diff --git a/web/app/components/base/param-item/index.spec.tsx b/web/app/components/base/param-item/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/param-item/index.spec.tsx rename to web/app/components/base/param-item/__tests__/index.spec.tsx index 45e0c2a5b3..60bcbebcf9 100644 --- a/web/app/components/base/param-item/index.spec.tsx +++ b/web/app/components/base/param-item/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { useState } from 'react' -import ParamItem from '.' +import ParamItem from '..' describe('ParamItem', () => { const defaultProps = { @@ -95,7 +95,7 @@ describe('ParamItem', () => { { + onChange={(key: string, nextValue: number) => { defaultProps.onChange(key, nextValue) setValue(nextValue) }} diff --git a/web/app/components/base/param-item/score-threshold-item.spec.tsx b/web/app/components/base/param-item/__tests__/score-threshold-item.spec.tsx similarity index 98% rename from web/app/components/base/param-item/score-threshold-item.spec.tsx rename to web/app/components/base/param-item/__tests__/score-threshold-item.spec.tsx index ce0a396249..d59768dacb 100644 --- a/web/app/components/base/param-item/score-threshold-item.spec.tsx +++ b/web/app/components/base/param-item/__tests__/score-threshold-item.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { useState } from 'react' -import ScoreThresholdItem from './score-threshold-item' +import ScoreThresholdItem from '../score-threshold-item' describe('ScoreThresholdItem', () => { const defaultProps = { diff --git a/web/app/components/base/param-item/top-k-item.spec.tsx b/web/app/components/base/param-item/__tests__/top-k-item.spec.tsx similarity index 99% rename from web/app/components/base/param-item/top-k-item.spec.tsx rename to web/app/components/base/param-item/__tests__/top-k-item.spec.tsx index 2031e4a83e..177b51e768 100644 --- a/web/app/components/base/param-item/top-k-item.spec.tsx +++ b/web/app/components/base/param-item/__tests__/top-k-item.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import TopKItem from './top-k-item' +import TopKItem from '../top-k-item' vi.mock('@/env', () => ({ env: { diff --git a/web/app/components/base/popover/index.spec.tsx b/web/app/components/base/popover/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/popover/index.spec.tsx rename to web/app/components/base/popover/__tests__/index.spec.tsx index f90a024bcf..ba86c96296 100644 --- a/web/app/components/base/popover/index.spec.tsx +++ b/web/app/components/base/popover/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { act, fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import CustomPopover from '.' +import CustomPopover from '..' const CloseButtonContent = ({ onClick }: { onClick?: () => void }) => ( @@ -227,7 +227,7 @@ describe('CustomPopover', () => { render( open ? 'btn-open' : 'btn-closed'} + btnClassName={(open: boolean) => open ? 'btn-open' : 'btn-closed'} />, ) diff --git a/web/app/components/base/portal-to-follow-elem/index.spec.tsx b/web/app/components/base/portal-to-follow-elem/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/portal-to-follow-elem/index.spec.tsx rename to web/app/components/base/portal-to-follow-elem/__tests__/index.spec.tsx index f320cd2a74..3aeb1fb475 100644 --- a/web/app/components/base/portal-to-follow-elem/index.spec.tsx +++ b/web/app/components/base/portal-to-follow-elem/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { cleanup, fireEvent, render } from '@testing-library/react' import * as React from 'react' -import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger } from '.' +import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger } from '..' const useFloatingMock = vi.fn() diff --git a/web/app/components/base/premium-badge/index.spec.tsx b/web/app/components/base/premium-badge/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/premium-badge/index.spec.tsx rename to web/app/components/base/premium-badge/__tests__/index.spec.tsx index a589aef828..af8ace22f0 100644 --- a/web/app/components/base/premium-badge/index.spec.tsx +++ b/web/app/components/base/premium-badge/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import PremiumBadge from './index' +import PremiumBadge from '../index' describe('PremiumBadge', () => { it('renders with default props', () => { diff --git a/web/app/components/base/progress-bar/progress-circle.spec.tsx b/web/app/components/base/progress-bar/__tests__/progress-circle.spec.tsx similarity index 98% rename from web/app/components/base/progress-bar/progress-circle.spec.tsx rename to web/app/components/base/progress-bar/__tests__/progress-circle.spec.tsx index 9acc525d90..4a3ee2e653 100644 --- a/web/app/components/base/progress-bar/progress-circle.spec.tsx +++ b/web/app/components/base/progress-bar/__tests__/progress-circle.spec.tsx @@ -1,5 +1,5 @@ import { render } from '@testing-library/react' -import ProgressCircle from './progress-circle' +import ProgressCircle from '../progress-circle' const extractLargeArcFlag = (pathData: string): string => { const afterA = pathData.slice(pathData.indexOf('A') + 1) diff --git a/web/app/components/base/prompt-editor/constants.spec.tsx b/web/app/components/base/prompt-editor/__tests__/constants.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/constants.spec.tsx rename to web/app/components/base/prompt-editor/__tests__/constants.spec.tsx index 862c386383..9817f70487 100644 --- a/web/app/components/base/prompt-editor/constants.spec.tsx +++ b/web/app/components/base/prompt-editor/__tests__/constants.spec.tsx @@ -1,4 +1,4 @@ -import { SupportUploadFileTypes } from '../../workflow/types' +import { SupportUploadFileTypes } from '../../../workflow/types' import { checkHasContextBlock, checkHasHistoryBlock, @@ -16,7 +16,7 @@ import { REQUEST_URL_PLACEHOLDER_TEXT, UPDATE_DATASETS_EVENT_EMITTER, UPDATE_HISTORY_EVENT_EMITTER, -} from './constants' +} from '../constants' describe('prompt-editor constants', () => { describe('placeholder and event constants', () => { diff --git a/web/app/components/base/prompt-editor/hooks.spec.tsx b/web/app/components/base/prompt-editor/__tests__/hooks.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/hooks.spec.tsx rename to web/app/components/base/prompt-editor/__tests__/hooks.spec.tsx index 4f2d6f3e0d..89d76c2709 100644 --- a/web/app/components/base/prompt-editor/hooks.spec.tsx +++ b/web/app/components/base/prompt-editor/__tests__/hooks.spec.tsx @@ -8,13 +8,13 @@ import { useLexicalTextEntity, useSelectOrDelete, useTrigger, -} from './hooks' +} from '../hooks' import { DELETE_CONTEXT_BLOCK_COMMAND, -} from './plugins/context-block' -import { ContextBlockNode } from './plugins/context-block/node' -import { DELETE_QUERY_BLOCK_COMMAND } from './plugins/query-block' -import { QueryBlockNode } from './plugins/query-block/node' +} from '../plugins/context-block' +import { ContextBlockNode } from '../plugins/context-block/node' +import { DELETE_QUERY_BLOCK_COMMAND } from '../plugins/query-block' +import { QueryBlockNode } from '../plugins/query-block/node' type MockNode = { isDecorator?: boolean diff --git a/web/app/components/base/prompt-editor/index.spec.tsx b/web/app/components/base/prompt-editor/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/index.spec.tsx rename to web/app/components/base/prompt-editor/__tests__/index.spec.tsx index a8bdc4a637..40ca8c3d76 100644 --- a/web/app/components/base/prompt-editor/index.spec.tsx +++ b/web/app/components/base/prompt-editor/__tests__/index.spec.tsx @@ -1,14 +1,14 @@ import type { FocusEvent as ReactFocusEvent, ReactNode } from 'react' -import type { PromptEditorProps } from './index' -import type { ContextBlockType, HistoryBlockType } from './types' +import type { PromptEditorProps } from '../index' +import type { ContextBlockType, HistoryBlockType } from '../types' import { render, screen, waitFor } from '@testing-library/react' import { BLUR_COMMAND, FOCUS_COMMAND } from 'lexical' import * as React from 'react' import { UPDATE_DATASETS_EVENT_EMITTER, UPDATE_HISTORY_EVENT_EMITTER, -} from './constants' -import PromptEditor from './index' +} from '../constants' +import PromptEditor from '../index' const mocks = vi.hoisted(() => { const commandHandlers = new Map boolean>() diff --git a/web/app/components/base/prompt-editor/utils.spec.ts b/web/app/components/base/prompt-editor/__tests__/utils.spec.ts similarity index 98% rename from web/app/components/base/prompt-editor/utils.spec.ts rename to web/app/components/base/prompt-editor/__tests__/utils.spec.ts index d445966057..d400e145ff 100644 --- a/web/app/components/base/prompt-editor/utils.spec.ts +++ b/web/app/components/base/prompt-editor/__tests__/utils.spec.ts @@ -5,15 +5,15 @@ import type { RangeSelection, TextNode, } from 'lexical' -import type { CustomTextNode } from './plugins/custom-text/node' -import type { MenuTextMatch } from './types' +import type { CustomTextNode } from '../plugins/custom-text/node' +import type { MenuTextMatch } from '../types' import { $splitNodeContainingQuery, decoratorTransform, getSelectedNode, registerLexicalTextEntity, textToEditorState, -} from './utils' +} from '../utils' const mockState = vi.hoisted(() => ({ isAtNodeEnd: false, @@ -36,7 +36,7 @@ vi.mock('lexical', async (importOriginal) => { } }) -vi.mock('./plugins/custom-text/node', () => ({ +vi.mock('../plugins/custom-text/node', () => ({ CustomTextNode: class MockCustomTextNode {}, })) diff --git a/web/app/components/base/prompt-editor/plugins/on-blur-or-focus-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/__tests__/on-blur-or-focus-block.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/plugins/on-blur-or-focus-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/__tests__/on-blur-or-focus-block.spec.tsx index 54acb0267a..dd2f74f7e5 100644 --- a/web/app/components/base/prompt-editor/plugins/on-blur-or-focus-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/__tests__/on-blur-or-focus-block.spec.tsx @@ -7,9 +7,9 @@ import { FOCUS_COMMAND, KEY_ESCAPE_COMMAND, } from 'lexical' -import OnBlurBlock from './on-blur-or-focus-block' -import { CaptureEditorPlugin } from './test-utils' -import { CLEAR_HIDE_MENU_TIMEOUT } from './workflow-variable-block' +import OnBlurBlock from '../on-blur-or-focus-block' +import { CaptureEditorPlugin } from '../test-utils' +import { CLEAR_HIDE_MENU_TIMEOUT } from '../workflow-variable-block' const renderOnBlurBlock = (props?: { onBlur?: () => void diff --git a/web/app/components/base/prompt-editor/plugins/placeholder.spec.tsx b/web/app/components/base/prompt-editor/plugins/__tests__/placeholder.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/plugins/placeholder.spec.tsx rename to web/app/components/base/prompt-editor/plugins/__tests__/placeholder.spec.tsx index 2386b355b0..577f15bb97 100644 --- a/web/app/components/base/prompt-editor/plugins/placeholder.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/__tests__/placeholder.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import Placeholder from './placeholder' +import Placeholder from '../placeholder' describe('Placeholder', () => { beforeEach(() => { diff --git a/web/app/components/base/prompt-editor/plugins/tree-view.spec.tsx b/web/app/components/base/prompt-editor/plugins/__tests__/tree-view.spec.tsx similarity index 95% rename from web/app/components/base/prompt-editor/plugins/tree-view.spec.tsx rename to web/app/components/base/prompt-editor/plugins/__tests__/tree-view.spec.tsx index cc32ab6ea3..c2c9fe9237 100644 --- a/web/app/components/base/prompt-editor/plugins/tree-view.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/__tests__/tree-view.spec.tsx @@ -1,8 +1,8 @@ import type { LexicalEditor } from 'lexical' import { LexicalComposer } from '@lexical/react/LexicalComposer' import { render, screen, waitFor } from '@testing-library/react' -import { CaptureEditorPlugin } from './test-utils' -import TreeViewPlugin from './tree-view' +import { CaptureEditorPlugin } from '../test-utils' +import TreeViewPlugin from '../tree-view' const { mockTreeView } = vi.hoisted(() => ({ mockTreeView: vi.fn(), diff --git a/web/app/components/base/prompt-editor/plugins/update-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/__tests__/update-block.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/update-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/__tests__/update-block.spec.tsx index f5576c4109..8f6a72a7de 100644 --- a/web/app/components/base/prompt-editor/plugins/update-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/__tests__/update-block.spec.tsx @@ -2,13 +2,13 @@ import type { LexicalEditor } from 'lexical' import { LexicalComposer } from '@lexical/react/LexicalComposer' import { act, render, waitFor } from '@testing-library/react' import { $getRoot, COMMAND_PRIORITY_EDITOR } from 'lexical' -import { CustomTextNode } from './custom-text/node' -import { CaptureEditorPlugin } from './test-utils' +import { CustomTextNode } from '../custom-text/node' +import { CaptureEditorPlugin } from '../test-utils' import UpdateBlock, { PROMPT_EDITOR_INSERT_QUICKLY, PROMPT_EDITOR_UPDATE_VALUE_BY_EVENT_EMITTER, -} from './update-block' -import { CLEAR_HIDE_MENU_TIMEOUT } from './workflow-variable-block' +} from '../update-block' +import { CLEAR_HIDE_MENU_TIMEOUT } from '../workflow-variable-block' const { mockUseEventEmitterContextContext } = vi.hoisted(() => ({ mockUseEventEmitterContextContext: vi.fn(), diff --git a/web/app/components/base/prompt-editor/plugins/component-picker-block/hooks.spec.tsx b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/hooks.spec.tsx similarity index 99% rename from web/app/components/base/prompt-editor/plugins/component-picker-block/hooks.spec.tsx rename to web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/hooks.spec.tsx index 3ed5d12a86..e28304dd15 100644 --- a/web/app/components/base/prompt-editor/plugins/component-picker-block/hooks.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/hooks.spec.tsx @@ -12,7 +12,7 @@ import type { RequestURLBlockType, VariableBlockType, WorkflowVariableBlockType, -} from '../../types' +} from '../../../types' import type { NodeOutPutVar } from '@/app/components/workflow/types' import { LexicalComposer } from '@lexical/react/LexicalComposer' import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext' @@ -20,13 +20,13 @@ import { renderHook } from '@testing-library/react' import * as React from 'react' import { GeneratorType } from '@/app/components/app/configuration/config/automatic/types' import { VarType } from '@/app/components/workflow/types' -import { CustomTextNode } from '../custom-text/node' +import { CustomTextNode } from '../../custom-text/node' import { useExternalToolOptions, useOptions, usePromptOptions, useVariableOptions, -} from './hooks' +} from '../hooks' // ─── Helpers ───────────────────────────────────────────────────────────────── diff --git a/web/app/components/base/prompt-editor/plugins/component-picker-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/plugins/component-picker-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/index.spec.tsx index fd623d39ad..2deec561e9 100644 --- a/web/app/components/base/prompt-editor/plugins/component-picker-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/index.spec.tsx @@ -8,7 +8,7 @@ import type { QueryBlockType, VariableBlockType, WorkflowVariableBlockType, -} from '../../types' +} from '../../../types' import type { NodeOutPutVar, Var } from '@/app/components/workflow/types' import type { EventEmitterValue } from '@/context/event-emitter' import { LexicalComposer } from '@lexical/react/LexicalComposer' @@ -29,13 +29,13 @@ import * as React from 'react' import { GeneratorType } from '@/app/components/app/configuration/config/automatic/types' import { VarType } from '@/app/components/workflow/types' import { EventEmitterContextProvider, useEventEmitterContextContext } from '@/context/event-emitter' -import { INSERT_CONTEXT_BLOCK_COMMAND } from '../context-block' -import { INSERT_CURRENT_BLOCK_COMMAND } from '../current-block' -import { INSERT_ERROR_MESSAGE_BLOCK_COMMAND } from '../error-message-block' -import { INSERT_LAST_RUN_BLOCK_COMMAND } from '../last-run-block' -import { INSERT_VARIABLE_VALUE_BLOCK_COMMAND } from '../variable-block' -import { INSERT_WORKFLOW_VARIABLE_BLOCK_COMMAND } from '../workflow-variable-block' -import ComponentPicker from './index' +import { INSERT_CONTEXT_BLOCK_COMMAND } from '../../context-block' +import { INSERT_CURRENT_BLOCK_COMMAND } from '../../current-block' +import { INSERT_ERROR_MESSAGE_BLOCK_COMMAND } from '../../error-message-block' +import { INSERT_LAST_RUN_BLOCK_COMMAND } from '../../last-run-block' +import { INSERT_VARIABLE_VALUE_BLOCK_COMMAND } from '../../variable-block' +import { INSERT_WORKFLOW_VARIABLE_BLOCK_COMMAND } from '../../workflow-variable-block' +import ComponentPicker from '../index' // Mock Range.getClientRects / getBoundingClientRect for Lexical menu positioning in JSDOM. // This mirrors the pattern used by other prompt-editor plugin tests in this repo. diff --git a/web/app/components/base/prompt-editor/plugins/component-picker-block/menu.spec.tsx b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/menu.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/component-picker-block/menu.spec.tsx rename to web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/menu.spec.tsx index 2ee4fb7e0b..5796589a9d 100644 --- a/web/app/components/base/prompt-editor/plugins/component-picker-block/menu.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/menu.spec.tsx @@ -1,6 +1,6 @@ import { render } from '@testing-library/react' import { Fragment } from 'react' -import { PickerBlockMenuOption } from './menu' +import { PickerBlockMenuOption } from '../menu' describe('PickerBlockMenuOption', () => { // Define the render props type locally to match the component's internal type accurately diff --git a/web/app/components/base/prompt-editor/plugins/component-picker-block/prompt-option.spec.tsx b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/prompt-option.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/component-picker-block/prompt-option.spec.tsx rename to web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/prompt-option.spec.tsx index c48c52a0b7..2d8356da3d 100644 --- a/web/app/components/base/prompt-editor/plugins/component-picker-block/prompt-option.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/prompt-option.spec.tsx @@ -1,5 +1,5 @@ import { createEvent, fireEvent, render, screen } from '@testing-library/react' -import { PromptMenuItem } from './prompt-option' +import { PromptMenuItem } from '../prompt-option' describe('PromptMenuItem', () => { const defaultProps = { diff --git a/web/app/components/base/prompt-editor/plugins/component-picker-block/variable-option.spec.tsx b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/variable-option.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/component-picker-block/variable-option.spec.tsx rename to web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/variable-option.spec.tsx index 228f2ac657..7925765e14 100644 --- a/web/app/components/base/prompt-editor/plugins/component-picker-block/variable-option.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/component-picker-block/__tests__/variable-option.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import { VariableMenuItem } from './variable-option' +import { VariableMenuItem } from '../variable-option' describe('VariableMenuItem', () => { const defaultProps = { diff --git a/web/app/components/base/prompt-editor/plugins/context-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/context-block/__tests__/component.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/context-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/context-block/__tests__/component.spec.tsx index 716f4285de..3b571e9ee1 100644 --- a/web/app/components/base/prompt-editor/plugins/context-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/context-block/__tests__/component.spec.tsx @@ -1,12 +1,12 @@ import { act, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import { UPDATE_DATASETS_EVENT_EMITTER } from '../../constants' -import ContextBlockComponent from './component' +import { UPDATE_DATASETS_EVENT_EMITTER } from '../../../constants' +import ContextBlockComponent from '../component' // Mock the hooks used by ContextBlockComponent const mockUseSelectOrDelete = vi.fn() const mockUseTrigger = vi.fn() -vi.mock('../../hooks', () => ({ +vi.mock('../../../hooks', () => ({ useSelectOrDelete: (...args: unknown[]) => mockUseSelectOrDelete(...args), useTrigger: (...args: unknown[]) => mockUseTrigger(...args), })) diff --git a/web/app/components/base/prompt-editor/plugins/context-block/context-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/context-block/__tests__/context-block-replacement-block.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/context-block/context-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/context-block/__tests__/context-block-replacement-block.spec.tsx index 217ff336c6..09ff3f9b90 100644 --- a/web/app/components/base/prompt-editor/plugins/context-block/context-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/context-block/__tests__/context-block-replacement-block.spec.tsx @@ -5,12 +5,12 @@ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext import { render } from '@testing-library/react' import { $createParagraphNode, $getRoot, $nodesOfType } from 'lexical' import * as React from 'react' -import { ContextBlockNode } from '../context-block/node' -import { $createCustomTextNode, CustomTextNode } from '../custom-text/node' -import ContextBlockReplacementBlock from './context-block-replacement-block' +import { ContextBlockNode } from '../../context-block/node' +import { $createCustomTextNode, CustomTextNode } from '../../custom-text/node' +import ContextBlockReplacementBlock from '../context-block-replacement-block' // Mock the component rendered by ContextBlockNode.decorate() -vi.mock('./component', () => ({ +vi.mock('../component', () => ({ default: () => null, })) diff --git a/web/app/components/base/prompt-editor/plugins/context-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/context-block/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/context-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/context-block/__tests__/index.spec.tsx index 93be3d022a..8ca0d80ef2 100644 --- a/web/app/components/base/prompt-editor/plugins/context-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/context-block/__tests__/index.spec.tsx @@ -1,18 +1,18 @@ import type { LexicalEditor } from 'lexical' import type { ReactNode } from 'react' -import type { Dataset } from './index' +import type { Dataset } from '../index' import { LexicalComposer } from '@lexical/react/LexicalComposer' import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext' import { render } from '@testing-library/react' import { $createParagraphNode, $getRoot } from 'lexical' import * as React from 'react' -import { ContextBlock, DELETE_CONTEXT_BLOCK_COMMAND, INSERT_CONTEXT_BLOCK_COMMAND } from './index' -import { ContextBlockNode } from './node' +import { ContextBlock, DELETE_CONTEXT_BLOCK_COMMAND, INSERT_CONTEXT_BLOCK_COMMAND } from '../index' +import { ContextBlockNode } from '../node' const mockCreateContextBlockNode = vi.fn() -vi.mock('./node', async () => { - const actual = await vi.importActual('./node') +vi.mock('../node', async () => { + const actual = await vi.importActual('../node') return { ...actual, @@ -23,7 +23,7 @@ vi.mock('./node', async () => { } }) -vi.mock('./component', () => ({ +vi.mock('../component', () => ({ default: () => null, })) diff --git a/web/app/components/base/prompt-editor/plugins/context-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/context-block/__tests__/node.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/context-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/context-block/__tests__/node.spec.tsx index 556f50badf..14567894e0 100644 --- a/web/app/components/base/prompt-editor/plugins/context-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/context-block/__tests__/node.spec.tsx @@ -1,6 +1,6 @@ import { $getRoot } from 'lexical' -import { createTestEditor, withEditorUpdate } from '../__tests__/utils' -import { $createContextBlockNode, $isContextBlockNode, ContextBlockNode } from './node' +import { createTestEditor, withEditorUpdate } from '../../__tests__/utils' +import { $createContextBlockNode, $isContextBlockNode, ContextBlockNode } from '../node' const mockDatasets = [ { id: '1', name: 'Dataset A', type: 'text' }, diff --git a/web/app/components/base/prompt-editor/plugins/current-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/current-block/__tests__/component.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/current-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/current-block/__tests__/component.spec.tsx index e2669af862..45099bba8a 100644 --- a/web/app/components/base/prompt-editor/plugins/current-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/current-block/__tests__/component.spec.tsx @@ -3,15 +3,15 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { GeneratorType } from '@/app/components/app/configuration/config/automatic/types' -import { CurrentBlockNode, DELETE_CURRENT_BLOCK_COMMAND } from '.' -import { CustomTextNode } from '../custom-text/node' -import CurrentBlockComponent from './component' +import { CurrentBlockNode, DELETE_CURRENT_BLOCK_COMMAND } from '..' +import { CustomTextNode } from '../../custom-text/node' +import CurrentBlockComponent from '../component' const { mockUseSelectOrDelete } = vi.hoisted(() => ({ mockUseSelectOrDelete: vi.fn(), })) -vi.mock('../../hooks', () => ({ +vi.mock('../../../hooks', () => ({ useSelectOrDelete: (...args: unknown[]) => mockUseSelectOrDelete(...args), })) diff --git a/web/app/components/base/prompt-editor/plugins/current-block/current-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/current-block/__tests__/current-block-replacement-block.spec.tsx similarity index 93% rename from web/app/components/base/prompt-editor/plugins/current-block/current-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/current-block/__tests__/current-block-replacement-block.spec.tsx index 16b75834fe..c7bd628e48 100644 --- a/web/app/components/base/prompt-editor/plugins/current-block/current-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/current-block/__tests__/current-block-replacement-block.spec.tsx @@ -3,17 +3,17 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { render, waitFor } from '@testing-library/react' import { $nodesOfType } from 'lexical' import { GeneratorType } from '@/app/components/app/configuration/config/automatic/types' -import { CURRENT_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { CURRENT_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, readEditorStateValue, renderLexicalEditor, setEditorRootText, waitForEditorReady, -} from '../test-helpers' -import CurrentBlockReplacementBlock from './current-block-replacement-block' -import { CurrentBlockNode } from './index' +} from '../../test-helpers' +import CurrentBlockReplacementBlock from '../current-block-replacement-block' +import { CurrentBlockNode } from '../index' const renderReplacementPlugin = (props?: { generatorType?: GeneratorType diff --git a/web/app/components/base/prompt-editor/plugins/current-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/current-block/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/current-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/current-block/__tests__/index.spec.tsx index 39085c5925..88f0e6d779 100644 --- a/web/app/components/base/prompt-editor/plugins/current-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/current-block/__tests__/index.spec.tsx @@ -3,8 +3,8 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { act, render, waitFor } from '@testing-library/react' import { $nodesOfType } from 'lexical' import { GeneratorType } from '@/app/components/app/configuration/config/automatic/types' -import { CURRENT_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { CURRENT_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, readEditorStateValue, @@ -12,13 +12,13 @@ import { renderLexicalEditor, selectRootEnd, waitForEditorReady, -} from '../test-helpers' +} from '../../test-helpers' import { CurrentBlock, CurrentBlockNode, DELETE_CURRENT_BLOCK_COMMAND, INSERT_CURRENT_BLOCK_COMMAND, -} from './index' +} from '../index' const renderCurrentBlock = (props?: { generatorType?: GeneratorType diff --git a/web/app/components/base/prompt-editor/plugins/current-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/current-block/__tests__/node.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/current-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/current-block/__tests__/node.spec.tsx index 26063fb8a7..23cb0421e4 100644 --- a/web/app/components/base/prompt-editor/plugins/current-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/current-block/__tests__/node.spec.tsx @@ -7,13 +7,13 @@ import { GeneratorType } from '@/app/components/app/configuration/config/automat import { createLexicalTestEditor, expectInlineWrapperDom, -} from '../test-helpers' -import CurrentBlockComponent from './component' +} from '../../test-helpers' +import CurrentBlockComponent from '../component' import { $createCurrentBlockNode, $isCurrentBlockNode, CurrentBlockNode, -} from './node' +} from '../node' const createTestEditor = () => { return createLexicalTestEditor('current-block-node-test', [CurrentBlockNode]) diff --git a/web/app/components/base/prompt-editor/plugins/custom-text/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/custom-text/__tests__/node.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/custom-text/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/custom-text/__tests__/node.spec.tsx index 9688049950..52d2a19313 100644 --- a/web/app/components/base/prompt-editor/plugins/custom-text/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/custom-text/__tests__/node.spec.tsx @@ -1,7 +1,7 @@ import type { EditorConfig, LexicalEditor } from 'lexical' import { $createParagraphNode, $getRoot } from 'lexical' -import { createTestEditor, withEditorUpdate } from '../__tests__/utils' -import { $createCustomTextNode, CustomTextNode } from './node' +import { createTestEditor, withEditorUpdate } from '../../__tests__/utils' +import { $createCustomTextNode, CustomTextNode } from '../node' const createCustomTextTestEditor = () => createTestEditor([CustomTextNode]) diff --git a/web/app/components/base/prompt-editor/plugins/draggable-plugin/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/draggable-plugin/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/prompt-editor/plugins/draggable-plugin/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/draggable-plugin/__tests__/index.spec.tsx index 1ee548fbcc..0e02525e17 100644 --- a/web/app/components/base/prompt-editor/plugins/draggable-plugin/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/draggable-plugin/__tests__/index.spec.tsx @@ -3,7 +3,7 @@ import { ContentEditable } from '@lexical/react/LexicalContentEditable' import { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary' import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin' import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import DraggableBlockPlugin from '.' +import DraggableBlockPlugin from '..' const CONTENT_EDITABLE_TEST_ID = 'draggable-content-editable' let namespaceCounter = 0 diff --git a/web/app/components/base/prompt-editor/plugins/error-message-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/component.spec.tsx similarity index 95% rename from web/app/components/base/prompt-editor/plugins/error-message-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/component.spec.tsx index 7f03aa8ba1..b9576f35b5 100644 --- a/web/app/components/base/prompt-editor/plugins/error-message-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/component.spec.tsx @@ -4,11 +4,11 @@ import type { ReactElement } from 'react' import { LexicalComposerContext } from '@lexical/react/LexicalComposerContext' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import { useSelectOrDelete } from '../../hooks' -import ErrorMessageBlockComponent from './component' -import { DELETE_ERROR_MESSAGE_COMMAND, ErrorMessageBlockNode } from './index' +import { useSelectOrDelete } from '../../../hooks' +import ErrorMessageBlockComponent from '../component' +import { DELETE_ERROR_MESSAGE_COMMAND, ErrorMessageBlockNode } from '../index' -vi.mock('../../hooks') +vi.mock('../../../hooks') const mockHasNodes = vi.fn() diff --git a/web/app/components/base/prompt-editor/plugins/error-message-block/error-message-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/error-message-block-replacement-block.spec.tsx similarity index 93% rename from web/app/components/base/prompt-editor/plugins/error-message-block/error-message-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/error-message-block-replacement-block.spec.tsx index 30737abf36..ccef57867a 100644 --- a/web/app/components/base/prompt-editor/plugins/error-message-block/error-message-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/error-message-block-replacement-block.spec.tsx @@ -6,16 +6,16 @@ import { LexicalComposerContext } from '@lexical/react/LexicalComposerContext' import { mergeRegister } from '@lexical/utils' import { render } from '@testing-library/react' import { $applyNodeReplacement } from 'lexical' -import { ERROR_MESSAGE_PLACEHOLDER_TEXT } from '../../constants' -import { decoratorTransform } from '../../utils' -import { CustomTextNode } from '../custom-text/node' -import ErrorMessageBlockReplacementBlock from './error-message-block-replacement-block' -import { $createErrorMessageBlockNode, ErrorMessageBlockNode } from './node' +import { ERROR_MESSAGE_PLACEHOLDER_TEXT } from '../../../constants' +import { decoratorTransform } from '../../../utils' +import { CustomTextNode } from '../../custom-text/node' +import ErrorMessageBlockReplacementBlock from '../error-message-block-replacement-block' +import { $createErrorMessageBlockNode, ErrorMessageBlockNode } from '../node' vi.mock('@lexical/utils') vi.mock('lexical') -vi.mock('../../utils') -vi.mock('./node') +vi.mock('../../../utils') +vi.mock('../node') const mockHasNodes = vi.fn() const mockRegisterNodeTransform = vi.fn() diff --git a/web/app/components/base/prompt-editor/plugins/error-message-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/error-message-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/index.spec.tsx index 938fda1555..fa52df0a23 100644 --- a/web/app/components/base/prompt-editor/plugins/error-message-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/index.spec.tsx @@ -10,8 +10,8 @@ import { ErrorMessageBlock, ErrorMessageBlockNode, INSERT_ERROR_MESSAGE_BLOCK_COMMAND, -} from './index' -import { $createErrorMessageBlockNode } from './node' +} from '../index' +import { $createErrorMessageBlockNode } from '../node' vi.mock('@lexical/utils') vi.mock('lexical', async () => { @@ -23,7 +23,7 @@ vi.mock('lexical', async () => { COMMAND_PRIORITY_EDITOR: 1, } }) -vi.mock('./node') +vi.mock('../node') const mockHasNodes = vi.fn() const mockRegisterCommand = vi.fn() diff --git a/web/app/components/base/prompt-editor/plugins/error-message-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/node.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/error-message-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/node.spec.tsx index 6c28091f27..1e952d08c9 100644 --- a/web/app/components/base/prompt-editor/plugins/error-message-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/error-message-block/__tests__/node.spec.tsx @@ -1,6 +1,6 @@ import type { Klass, LexicalEditor, LexicalNode } from 'lexical' import { createEditor } from 'lexical' -import { $createErrorMessageBlockNode, $isErrorMessageBlockNode, ErrorMessageBlockNode } from './node' +import { $createErrorMessageBlockNode, $isErrorMessageBlockNode, ErrorMessageBlockNode } from '../node' describe('ErrorMessageBlockNode', () => { let editor: LexicalEditor diff --git a/web/app/components/base/prompt-editor/plugins/history-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/history-block/__tests__/component.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/history-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/history-block/__tests__/component.spec.tsx index 5ba2f92b0e..4dc85a3081 100644 --- a/web/app/components/base/prompt-editor/plugins/history-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/history-block/__tests__/component.spec.tsx @@ -1,10 +1,10 @@ import type { Dispatch, RefObject, SetStateAction } from 'react' -import type { RoleName } from './index' +import type { RoleName } from '../index' import { act, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import { UPDATE_HISTORY_EVENT_EMITTER } from '../../constants' -import HistoryBlockComponent from './component' -import { DELETE_HISTORY_BLOCK_COMMAND } from './index' +import { UPDATE_HISTORY_EVENT_EMITTER } from '../../../constants' +import HistoryBlockComponent from '../component' +import { DELETE_HISTORY_BLOCK_COMMAND } from '../index' type HistoryEventPayload = { type?: string @@ -19,7 +19,7 @@ const { mockUseSelectOrDelete, mockUseTrigger, mockUseEventEmitterContextContext mockUseEventEmitterContextContext: vi.fn(), })) -vi.mock('../../hooks', () => ({ +vi.mock('../../../hooks', () => ({ useSelectOrDelete: (...args: unknown[]) => mockUseSelectOrDelete(...args), useTrigger: (...args: unknown[]) => mockUseTrigger(...args), })) diff --git a/web/app/components/base/prompt-editor/plugins/history-block/history-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/history-block/__tests__/history-block-replacement-block.spec.tsx similarity index 91% rename from web/app/components/base/prompt-editor/plugins/history-block/history-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/history-block/__tests__/history-block-replacement-block.spec.tsx index af74f39a1d..a6e40ab6ed 100644 --- a/web/app/components/base/prompt-editor/plugins/history-block/history-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/history-block/__tests__/history-block-replacement-block.spec.tsx @@ -1,19 +1,19 @@ import type { LexicalEditor } from 'lexical' -import type { RoleName } from './index' +import type { RoleName } from '../index' import { LexicalComposer } from '@lexical/react/LexicalComposer' import { render, waitFor } from '@testing-library/react' import { $nodesOfType } from 'lexical' -import { HISTORY_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { HISTORY_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, readEditorStateValue, renderLexicalEditor, setEditorRootText, waitForEditorReady, -} from '../test-helpers' -import HistoryBlockReplacementBlock from './history-block-replacement-block' -import { HistoryBlockNode } from './node' +} from '../../test-helpers' +import HistoryBlockReplacementBlock from '../history-block-replacement-block' +import { HistoryBlockNode } from '../node' const createRoleName = (overrides?: Partial): RoleName => ({ user: 'user-role', diff --git a/web/app/components/base/prompt-editor/plugins/history-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/history-block/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/prompt-editor/plugins/history-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/history-block/__tests__/index.spec.tsx index e41a8f7c63..682ec90a63 100644 --- a/web/app/components/base/prompt-editor/plugins/history-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/history-block/__tests__/index.spec.tsx @@ -1,10 +1,10 @@ import type { LexicalEditor } from 'lexical' -import type { RoleName } from './index' +import type { RoleName } from '../index' import { LexicalComposer } from '@lexical/react/LexicalComposer' import { act, render, waitFor } from '@testing-library/react' import { $nodesOfType } from 'lexical' -import { HISTORY_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { HISTORY_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, readEditorStateValue, @@ -12,14 +12,14 @@ import { renderLexicalEditor, selectRootEnd, waitForEditorReady, -} from '../test-helpers' +} from '../../test-helpers' import { DELETE_HISTORY_BLOCK_COMMAND, HistoryBlock, HistoryBlockNode, INSERT_HISTORY_BLOCK_COMMAND, -} from './index' +} from '../index' const createRoleName = (overrides?: Partial): RoleName => ({ user: 'user-role', diff --git a/web/app/components/base/prompt-editor/plugins/history-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/history-block/__tests__/node.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/plugins/history-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/history-block/__tests__/node.spec.tsx index b8603ef4fe..c7960d658e 100644 --- a/web/app/components/base/prompt-editor/plugins/history-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/history-block/__tests__/node.spec.tsx @@ -1,17 +1,17 @@ -import type { SerializedNode as SerializedHistoryBlockNode } from './node' +import type { SerializedNode as SerializedHistoryBlockNode } from '../node' import { act } from '@testing-library/react' import { $getNodeByKey, $getRoot } from 'lexical' import { createLexicalTestEditor, expectInlineWrapperDom, -} from '../test-helpers' -import HistoryBlockComponent from './component' +} from '../../test-helpers' +import HistoryBlockComponent from '../component' import { $createHistoryBlockNode, $isHistoryBlockNode, HistoryBlockNode, -} from './node' +} from '../node' const createRoleName = (overrides?: { user?: string, assistant?: string }) => ({ user: 'user-role', diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/component.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/component.spec.tsx index eb76728939..97085e694a 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/component.spec.tsx @@ -3,17 +3,17 @@ import type { FormInputItem } from '@/app/components/workflow/nodes/human-input/ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { InputVarType } from '@/app/components/workflow/types' -import HITLInputComponent from './component' +import HITLInputComponent from '../component' const { mockUseSelectOrDelete } = vi.hoisted(() => ({ mockUseSelectOrDelete: vi.fn(), })) -vi.mock('../../hooks', () => ({ +vi.mock('../../../hooks', () => ({ useSelectOrDelete: (...args: unknown[]) => mockUseSelectOrDelete(...args), })) -vi.mock('./component-ui', () => ({ +vi.mock('../component-ui', () => ({ default: ({ formInput, onChange }: { formInput?: FormInputItem, onChange: (payload: FormInputItem) => void }) => { const basePayload: FormInputItem = formInput ?? { type: InputVarType.paragraph, diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/hitl-input-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/hitl-input-block-replacement-block.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/hitl-input-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/hitl-input-block-replacement-block.spec.tsx index d01cab70c2..57f1db1fa3 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/hitl-input-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/hitl-input-block-replacement-block.spec.tsx @@ -1,5 +1,5 @@ import type { LexicalEditor } from 'lexical' -import type { GetVarType } from '../../types' +import type { GetVarType } from '../../../types' import type { FormInputItem } from '@/app/components/workflow/nodes/human-input/types' import type { NodeOutPutVar, Var } from '@/app/components/workflow/types' import { LexicalComposer } from '@lexical/react/LexicalComposer' @@ -10,16 +10,16 @@ import { BlockEnum, InputVarType, } from '@/app/components/workflow/types' -import { CustomTextNode } from '../custom-text/node' +import { CustomTextNode } from '../../custom-text/node' import { getNodesByType, readEditorStateValue, renderLexicalEditor, setEditorRootText, waitForEditorReady, -} from '../test-helpers' -import HITLInputReplacementBlock from './hitl-input-block-replacement-block' -import { HITLInputNode } from './node' +} from '../../test-helpers' +import HITLInputReplacementBlock from '../hitl-input-block-replacement-block' +import { HITLInputNode } from '../node' const createWorkflowNodesMap = () => ({ 'node-1': { diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/index.spec.tsx index dc94b0b319..b5f38cdd1b 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/index.spec.tsx @@ -10,21 +10,21 @@ import { BlockEnum, InputVarType, } from '@/app/components/workflow/types' -import { CustomTextNode } from '../custom-text/node' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, readRootTextContent, renderLexicalEditor, selectRootEnd, waitForEditorReady, -} from '../test-helpers' +} from '../../test-helpers' import { DELETE_HITL_INPUT_BLOCK_COMMAND, HITLInputBlock, HITLInputNode, INSERT_HITL_INPUT_BLOCK_COMMAND, UPDATE_WORKFLOW_NODES_MAP, -} from './index' +} from '../index' type UpdateWorkflowNodesMapPluginProps = { onUpdate: (payload: unknown) => void diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/input-field.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/input-field.spec.tsx similarity index 99% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/input-field.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/input-field.spec.tsx index b7518e8895..949295a8a8 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/input-field.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/input-field.spec.tsx @@ -2,7 +2,7 @@ import type { FormInputItem } from '@/app/components/workflow/nodes/human-input/ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { InputVarType } from '@/app/components/workflow/types' -import InputField from './input-field' +import InputField from '../input-field' type VarReferencePickerProps = { onChange: (value: string[]) => void diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/node.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/node.spec.tsx index ef2a0e0c51..f4ab8ff90a 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/node.spec.tsx @@ -8,13 +8,13 @@ import { import { createLexicalTestEditor, expectInlineWrapperDom, -} from '../test-helpers' -import HITLInputBlockComponent from './component' +} from '../../test-helpers' +import HITLInputBlockComponent from '../component' import { $createHITLInputNode, $isHITLInputNode, HITLInputNode, -} from './node' +} from '../node' const createFormInput = (): FormInputItem => ({ type: InputVarType.paragraph, diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/pre-populate.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/pre-populate.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/pre-populate.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/pre-populate.spec.tsx index be95aea062..880ad509b3 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/pre-populate.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/pre-populate.spec.tsx @@ -2,7 +2,7 @@ import type { Var } from '@/app/components/workflow/types' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { useState } from 'react' -import PrePopulate from './pre-populate' +import PrePopulate from '../pre-populate' const { mockVarReferencePicker } = vi.hoisted(() => ({ mockVarReferencePicker: vi.fn(), diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/tag-label.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/tag-label.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/tag-label.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/tag-label.spec.tsx index c39b66e545..d85224ca74 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/tag-label.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/tag-label.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import TagLabel from './tag-label' +import TagLabel from '../tag-label' describe('TagLabel', () => { beforeEach(() => { diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/type-switch.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/type-switch.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/type-switch.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/type-switch.spec.tsx index b3d1376eb9..a23ef088f9 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/type-switch.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/type-switch.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import TypeSwitch from './type-switch' +import TypeSwitch from '../type-switch' describe('TypeSwitch', () => { beforeEach(() => { diff --git a/web/app/components/base/prompt-editor/plugins/hitl-input-block/variable-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/variable-block.spec.tsx similarity index 95% rename from web/app/components/base/prompt-editor/plugins/hitl-input-block/variable-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/variable-block.spec.tsx index 727bc664d3..f16951aed1 100644 --- a/web/app/components/base/prompt-editor/plugins/hitl-input-block/variable-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/hitl-input-block/__tests__/variable-block.spec.tsx @@ -1,5 +1,5 @@ import type { LexicalEditor } from 'lexical' -import type { WorkflowNodesMap } from '../workflow-variable-block/node' +import type { WorkflowNodesMap } from '../../workflow-variable-block/node' import type { Var } from '@/app/components/workflow/types' import { LexicalComposer } from '@lexical/react/LexicalComposer' import { act, render, screen, waitFor } from '@testing-library/react' @@ -10,10 +10,10 @@ import { Type } from '@/app/components/workflow/nodes/llm/types' import { BlockEnum, } from '@/app/components/workflow/types' -import { CaptureEditorPlugin } from '../test-utils' -import { UPDATE_WORKFLOW_NODES_MAP } from '../workflow-variable-block' -import { HITLInputNode } from './node' -import HITLInputVariableBlockComponent from './variable-block' +import { CaptureEditorPlugin } from '../../test-utils' +import { UPDATE_WORKFLOW_NODES_MAP } from '../../workflow-variable-block' +import { HITLInputNode } from '../node' +import HITLInputVariableBlockComponent from '../variable-block' const createWorkflowNodesMap = (title = 'Node One'): WorkflowNodesMap => ({ 'node-1': { diff --git a/web/app/components/base/prompt-editor/plugins/last-run-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/component.spec.tsx similarity index 93% rename from web/app/components/base/prompt-editor/plugins/last-run-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/component.spec.tsx index 29da9e4e9c..8a777be096 100644 --- a/web/app/components/base/prompt-editor/plugins/last-run-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/component.spec.tsx @@ -2,15 +2,15 @@ import type { RefObject } from 'react' import { LexicalComposer } from '@lexical/react/LexicalComposer' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import { LastRunBlockNode } from '.' -import { CustomTextNode } from '../custom-text/node' -import LastRunBlockComponent from './component' +import { LastRunBlockNode } from '..' +import { CustomTextNode } from '../../custom-text/node' +import LastRunBlockComponent from '../component' const { mockUseSelectOrDelete } = vi.hoisted(() => ({ mockUseSelectOrDelete: vi.fn(), })) -vi.mock('../../hooks', () => ({ +vi.mock('../../../hooks', () => ({ useSelectOrDelete: (...args: unknown[]) => mockUseSelectOrDelete(...args), })) diff --git a/web/app/components/base/prompt-editor/plugins/last-run-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/last-run-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/index.spec.tsx index 7a28bf847d..73af3ee857 100644 --- a/web/app/components/base/prompt-editor/plugins/last-run-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/index.spec.tsx @@ -1,20 +1,20 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { act, render, waitFor } from '@testing-library/react' -import { LAST_RUN_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { LAST_RUN_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, readRootTextContent, renderLexicalEditor, selectRootEnd, waitForEditorReady, -} from '../test-helpers' +} from '../../test-helpers' import { DELETE_LAST_RUN_COMMAND, INSERT_LAST_RUN_BLOCK_COMMAND, LastRunBlock, LastRunBlockNode, -} from './index' +} from '../index' const renderLastRunBlock = (props?: { onInsert?: () => void diff --git a/web/app/components/base/prompt-editor/plugins/last-run-block/last-run-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/last-run-block-replacement-block.spec.tsx similarity index 91% rename from web/app/components/base/prompt-editor/plugins/last-run-block/last-run-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/last-run-block-replacement-block.spec.tsx index ba144c9e5f..c0adc2275a 100644 --- a/web/app/components/base/prompt-editor/plugins/last-run-block/last-run-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/last-run-block-replacement-block.spec.tsx @@ -1,15 +1,15 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { render, waitFor } from '@testing-library/react' -import { LAST_RUN_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { LAST_RUN_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, renderLexicalEditor, setEditorRootText, waitForEditorReady, -} from '../test-helpers' -import { LastRunBlockNode } from './index' -import LastRunReplacementBlock from './last-run-block-replacement-block' +} from '../../test-helpers' +import { LastRunBlockNode } from '../index' +import LastRunReplacementBlock from '../last-run-block-replacement-block' const renderReplacementPlugin = (props?: { onInsert?: () => void diff --git a/web/app/components/base/prompt-editor/plugins/last-run-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/node.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/last-run-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/node.spec.tsx index dcc75b56c6..e7752b0ddc 100644 --- a/web/app/components/base/prompt-editor/plugins/last-run-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/last-run-block/__tests__/node.spec.tsx @@ -2,13 +2,13 @@ import { act } from '@testing-library/react' import { createLexicalTestEditor, expectInlineWrapperDom, -} from '../test-helpers' -import LastRunBlockComponent from './component' +} from '../../test-helpers' +import LastRunBlockComponent from '../component' import { $createLastRunBlockNode, $isLastRunBlockNode, LastRunBlockNode, -} from './node' +} from '../node' const createTestEditor = () => { return createLexicalTestEditor('last-run-block-node-test', [LastRunBlockNode]) diff --git a/web/app/components/base/prompt-editor/plugins/query-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/query-block/__tests__/component.spec.tsx similarity index 92% rename from web/app/components/base/prompt-editor/plugins/query-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/query-block/__tests__/component.spec.tsx index 28f439cafe..9b7ebf0399 100644 --- a/web/app/components/base/prompt-editor/plugins/query-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/query-block/__tests__/component.spec.tsx @@ -1,13 +1,13 @@ import type { RefObject } from 'react' import { render, screen } from '@testing-library/react' -import QueryBlockComponent from './component' -import { DELETE_QUERY_BLOCK_COMMAND } from './index' +import QueryBlockComponent from '../component' +import { DELETE_QUERY_BLOCK_COMMAND } from '../index' const { mockUseSelectOrDelete } = vi.hoisted(() => ({ mockUseSelectOrDelete: vi.fn(), })) -vi.mock('../../hooks', () => ({ +vi.mock('../../../hooks', () => ({ useSelectOrDelete: (...args: unknown[]) => mockUseSelectOrDelete(...args), })) diff --git a/web/app/components/base/prompt-editor/plugins/query-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/query-block/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/query-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/query-block/__tests__/index.spec.tsx index 08f6109b7c..f17018f12c 100644 --- a/web/app/components/base/prompt-editor/plugins/query-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/query-block/__tests__/index.spec.tsx @@ -1,20 +1,20 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { act, render, waitFor } from '@testing-library/react' -import { QUERY_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { QUERY_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, readRootTextContent, renderLexicalEditor, selectRootEnd, waitForEditorReady, -} from '../test-helpers' +} from '../../test-helpers' import { DELETE_QUERY_BLOCK_COMMAND, INSERT_QUERY_BLOCK_COMMAND, QueryBlock, QueryBlockNode, -} from './index' +} from '../index' const renderQueryBlock = (props: { onInsert?: () => void diff --git a/web/app/components/base/prompt-editor/plugins/query-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/query-block/__tests__/node.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/query-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/query-block/__tests__/node.spec.tsx index e91714e098..e927856e1a 100644 --- a/web/app/components/base/prompt-editor/plugins/query-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/query-block/__tests__/node.spec.tsx @@ -2,13 +2,13 @@ import { act } from '@testing-library/react' import { createLexicalTestEditor, expectInlineWrapperDom, -} from '../test-helpers' -import QueryBlockComponent from './component' +} from '../../test-helpers' +import QueryBlockComponent from '../component' import { $createQueryBlockNode, $isQueryBlockNode, QueryBlockNode, -} from './node' +} from '../node' describe('QueryBlockNode', () => { const createTestEditor = () => { diff --git a/web/app/components/base/prompt-editor/plugins/query-block/query-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/query-block/__tests__/query-block-replacement-block.spec.tsx similarity index 91% rename from web/app/components/base/prompt-editor/plugins/query-block/query-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/query-block/__tests__/query-block-replacement-block.spec.tsx index 379128df2e..9a92aba3c0 100644 --- a/web/app/components/base/prompt-editor/plugins/query-block/query-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/query-block/__tests__/query-block-replacement-block.spec.tsx @@ -1,15 +1,15 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { render, waitFor } from '@testing-library/react' -import { QUERY_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { QUERY_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, renderLexicalEditor, setEditorRootText, waitForEditorReady, -} from '../test-helpers' -import { QueryBlockNode } from './index' -import QueryBlockReplacementBlock from './query-block-replacement-block' +} from '../../test-helpers' +import { QueryBlockNode } from '../index' +import QueryBlockReplacementBlock from '../query-block-replacement-block' const renderReplacementPlugin = (props: { onInsert?: () => void diff --git a/web/app/components/base/prompt-editor/plugins/request-url-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/component.spec.tsx similarity index 92% rename from web/app/components/base/prompt-editor/plugins/request-url-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/component.spec.tsx index f1b97d9417..811eaf462f 100644 --- a/web/app/components/base/prompt-editor/plugins/request-url-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/component.spec.tsx @@ -1,13 +1,13 @@ import type { RefObject } from 'react' import { render, screen } from '@testing-library/react' -import RequestURLBlockComponent from './component' -import { DELETE_REQUEST_URL_BLOCK_COMMAND } from './index' +import RequestURLBlockComponent from '../component' +import { DELETE_REQUEST_URL_BLOCK_COMMAND } from '../index' const { mockUseSelectOrDelete } = vi.hoisted(() => ({ mockUseSelectOrDelete: vi.fn(), })) -vi.mock('../../hooks', () => ({ +vi.mock('../../../hooks', () => ({ useSelectOrDelete: (...args: unknown[]) => mockUseSelectOrDelete(...args), })) diff --git a/web/app/components/base/prompt-editor/plugins/request-url-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/index.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/request-url-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/index.spec.tsx index 431acdb0df..2b479edd09 100644 --- a/web/app/components/base/prompt-editor/plugins/request-url-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/index.spec.tsx @@ -1,20 +1,20 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { act, render, waitFor } from '@testing-library/react' -import { REQUEST_URL_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { REQUEST_URL_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, readRootTextContent, renderLexicalEditor, selectRootEnd, waitForEditorReady, -} from '../test-helpers' +} from '../../test-helpers' import { DELETE_REQUEST_URL_BLOCK_COMMAND, INSERT_REQUEST_URL_BLOCK_COMMAND, RequestURLBlock, RequestURLBlockNode, -} from './index' +} from '../index' const renderRequestURLBlock = (props: { onInsert?: () => void diff --git a/web/app/components/base/prompt-editor/plugins/request-url-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/node.spec.tsx similarity index 96% rename from web/app/components/base/prompt-editor/plugins/request-url-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/node.spec.tsx index aa8a661512..fddbff4deb 100644 --- a/web/app/components/base/prompt-editor/plugins/request-url-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/node.spec.tsx @@ -2,13 +2,13 @@ import { act } from '@testing-library/react' import { createLexicalTestEditor, expectInlineWrapperDom, -} from '../test-helpers' -import RequestURLBlockComponent from './component' +} from '../../test-helpers' +import RequestURLBlockComponent from '../component' import { $createRequestURLBlockNode, $isRequestURLBlockNode, RequestURLBlockNode, -} from './node' +} from '../node' describe('RequestURLBlockNode', () => { const createTestEditor = () => { diff --git a/web/app/components/base/prompt-editor/plugins/request-url-block/request-url-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/request-url-block-replacement-block.spec.tsx similarity index 90% rename from web/app/components/base/prompt-editor/plugins/request-url-block/request-url-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/request-url-block-replacement-block.spec.tsx index 77c78d0e50..1df74ed4e6 100644 --- a/web/app/components/base/prompt-editor/plugins/request-url-block/request-url-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/request-url-block/__tests__/request-url-block-replacement-block.spec.tsx @@ -1,15 +1,15 @@ import { LexicalComposer } from '@lexical/react/LexicalComposer' import { render, waitFor } from '@testing-library/react' -import { REQUEST_URL_PLACEHOLDER_TEXT } from '../../constants' -import { CustomTextNode } from '../custom-text/node' +import { REQUEST_URL_PLACEHOLDER_TEXT } from '../../../constants' +import { CustomTextNode } from '../../custom-text/node' import { getNodeCount, renderLexicalEditor, setEditorRootText, waitForEditorReady, -} from '../test-helpers' -import { RequestURLBlockNode } from './index' -import RequestURLBlockReplacementBlock from './request-url-block-replacement-block' +} from '../../test-helpers' +import { RequestURLBlockNode } from '../index' +import RequestURLBlockReplacementBlock from '../request-url-block-replacement-block' const renderReplacementPlugin = (props: { onInsert?: () => void diff --git a/web/app/components/base/prompt-editor/plugins/shortcuts-popup-plugin/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/shortcuts-popup-plugin/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/prompt-editor/plugins/shortcuts-popup-plugin/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/shortcuts-popup-plugin/__tests__/index.spec.tsx index ad44970187..6e636845a6 100644 --- a/web/app/components/base/prompt-editor/plugins/shortcuts-popup-plugin/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/shortcuts-popup-plugin/__tests__/index.spec.tsx @@ -5,7 +5,7 @@ import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin' import { fireEvent, render, screen, waitFor } from '@testing-library/react' import * as React from 'react' import { useState } from 'react' -import ShortcutsPopupPlugin, { SHORTCUTS_EMPTY_CONTENT } from './index' +import ShortcutsPopupPlugin, { SHORTCUTS_EMPTY_CONTENT } from '../index' import '@testing-library/jest-dom' // Mock Range.getClientRects and getBoundingClientRect for JSDOM diff --git a/web/app/components/base/prompt-editor/plugins/variable-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/variable-block/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/prompt-editor/plugins/variable-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/variable-block/__tests__/index.spec.tsx index f835ec07ef..f28dcab4ba 100644 --- a/web/app/components/base/prompt-editor/plugins/variable-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/variable-block/__tests__/index.spec.tsx @@ -1,15 +1,15 @@ import { act, waitFor } from '@testing-library/react' -import { CustomTextNode } from '../custom-text/node' +import { CustomTextNode } from '../../custom-text/node' import { readRootTextContent, renderLexicalEditor, selectRootEnd, waitForEditorReady, -} from '../test-helpers' +} from '../../test-helpers' import VariableBlock, { INSERT_VARIABLE_BLOCK_COMMAND, INSERT_VARIABLE_VALUE_BLOCK_COMMAND, -} from './index' +} from '../index' const renderVariableBlock = () => { return renderLexicalEditor({ diff --git a/web/app/components/base/prompt-editor/plugins/variable-value-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/variable-value-block/__tests__/index.spec.tsx similarity index 94% rename from web/app/components/base/prompt-editor/plugins/variable-value-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/variable-value-block/__tests__/index.spec.tsx index 7398cad558..a77c62859b 100644 --- a/web/app/components/base/prompt-editor/plugins/variable-value-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/variable-value-block/__tests__/index.spec.tsx @@ -4,12 +4,12 @@ import type { LexicalEditor } from 'lexical' import type { ReactElement } from 'react' import { LexicalComposerContext } from '@lexical/react/LexicalComposerContext' import { render } from '@testing-library/react' -import { useLexicalTextEntity } from '../../hooks' -import VariableValueBlock from './index' -import { $createVariableValueBlockNode, VariableValueBlockNode } from './node' +import { useLexicalTextEntity } from '../../../hooks' +import VariableValueBlock from '../index' +import { $createVariableValueBlockNode, VariableValueBlockNode } from '../node' -vi.mock('../../hooks') -vi.mock('./node') +vi.mock('../../../hooks') +vi.mock('../node') const mockHasNodes = vi.fn() diff --git a/web/app/components/base/prompt-editor/plugins/variable-value-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/variable-value-block/__tests__/node.spec.tsx similarity index 99% rename from web/app/components/base/prompt-editor/plugins/variable-value-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/variable-value-block/__tests__/node.spec.tsx index f78a76166d..a81b59d454 100644 --- a/web/app/components/base/prompt-editor/plugins/variable-value-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/variable-value-block/__tests__/node.spec.tsx @@ -4,7 +4,7 @@ import { $createVariableValueBlockNode, $isVariableValueNodeBlock, VariableValueBlockNode, -} from './node' +} from '../node' describe('VariableValueBlockNode', () => { let editor: LexicalEditor diff --git a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/component.spec.tsx b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/component.spec.tsx similarity index 98% rename from web/app/components/base/prompt-editor/plugins/workflow-variable-block/component.spec.tsx rename to web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/component.spec.tsx index b07ed7de42..ff064f2a99 100644 --- a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/component.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/component.spec.tsx @@ -7,10 +7,10 @@ import userEvent from '@testing-library/user-event' import { useReactFlow, useStoreApi } from 'reactflow' import { Type } from '@/app/components/workflow/nodes/llm/types' import { BlockEnum, VarType } from '@/app/components/workflow/types' -import { useSelectOrDelete } from '../../hooks' -import WorkflowVariableBlockComponent from './component' -import { UPDATE_WORKFLOW_NODES_MAP } from './index' -import { WorkflowVariableBlockNode } from './node' +import { useSelectOrDelete } from '../../../hooks' +import WorkflowVariableBlockComponent from '../component' +import { UPDATE_WORKFLOW_NODES_MAP } from '../index' +import { WorkflowVariableBlockNode } from '../node' const { mockVarLabel, mockIsExceptionVariable, mockForcedVariableKind } = vi.hoisted(() => ({ mockVarLabel: vi.fn(), @@ -21,7 +21,7 @@ const { mockVarLabel, mockIsExceptionVariable, mockForcedVariableKind } = vi.hoi vi.mock('@lexical/react/LexicalComposerContext') vi.mock('@lexical/utils') vi.mock('reactflow') -vi.mock('../../hooks') +vi.mock('../../../hooks') vi.mock('@/app/components/workflow/utils', async (importOriginal) => { const actual = await importOriginal() return { diff --git a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/index.spec.tsx b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/prompt-editor/plugins/workflow-variable-block/index.spec.tsx rename to web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/index.spec.tsx index d36f55bc47..ca4973b830 100644 --- a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/index.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import type { LexicalComposerContextWithEditor } from '@lexical/react/LexicalComposerContext' import type { LexicalEditor } from 'lexical' import type { ReactElement } from 'react' -import type { WorkflowNodesMap } from './node' +import type { WorkflowNodesMap } from '../node' import { LexicalComposerContext } from '@lexical/react/LexicalComposerContext' import { mergeRegister } from '@lexical/utils' import { render } from '@testing-library/react' @@ -15,8 +15,8 @@ import { UPDATE_WORKFLOW_NODES_MAP, WorkflowVariableBlock, WorkflowVariableBlockNode, -} from './index' -import { $createWorkflowVariableBlockNode } from './node' +} from '../index' +import { $createWorkflowVariableBlockNode } from '../node' vi.mock('@lexical/utils') vi.mock('lexical', async () => { @@ -28,7 +28,7 @@ vi.mock('lexical', async () => { COMMAND_PRIORITY_EDITOR: 1, } }) -vi.mock('./node') +vi.mock('../node') const mockHasNodes = vi.fn() const mockRegisterCommand = vi.fn() diff --git a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/node.spec.tsx b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/node.spec.tsx similarity index 99% rename from web/app/components/base/prompt-editor/plugins/workflow-variable-block/node.spec.tsx rename to web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/node.spec.tsx index 6f894690ab..8d7a1cc33d 100644 --- a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/node.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/node.spec.tsx @@ -7,7 +7,7 @@ import { $createWorkflowVariableBlockNode, $isWorkflowVariableBlockNode, WorkflowVariableBlockNode, -} from './node' +} from '../node' describe('WorkflowVariableBlockNode', () => { let editor: LexicalEditor diff --git a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/workflow-variable-block-replacement-block.spec.tsx b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/workflow-variable-block-replacement-block.spec.tsx similarity index 94% rename from web/app/components/base/prompt-editor/plugins/workflow-variable-block/workflow-variable-block-replacement-block.spec.tsx rename to web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/workflow-variable-block-replacement-block.spec.tsx index 71ef39d02c..b9cb1faa37 100644 --- a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/workflow-variable-block-replacement-block.spec.tsx +++ b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/__tests__/workflow-variable-block-replacement-block.spec.tsx @@ -2,7 +2,7 @@ import type { LexicalComposerContextWithEditor } from '@lexical/react/LexicalCom import type { EntityMatch } from '@lexical/text' import type { LexicalEditor, LexicalNode } from 'lexical' import type { ReactElement } from 'react' -import type { WorkflowNodesMap } from './node' +import type { WorkflowNodesMap } from '../node' import type { NodeOutPutVar } from '@/app/components/workflow/types' import { LexicalComposerContext } from '@lexical/react/LexicalComposerContext' import { mergeRegister } from '@lexical/utils' @@ -10,16 +10,16 @@ import { render } from '@testing-library/react' import { $applyNodeReplacement } from 'lexical' import { Type } from '@/app/components/workflow/nodes/llm/types' import { BlockEnum, VarType } from '@/app/components/workflow/types' -import { decoratorTransform } from '../../utils' -import { CustomTextNode } from '../custom-text/node' -import { WorkflowVariableBlockNode } from './index' -import { $createWorkflowVariableBlockNode } from './node' -import WorkflowVariableBlockReplacementBlock from './workflow-variable-block-replacement-block' +import { decoratorTransform } from '../../../utils' +import { CustomTextNode } from '../../custom-text/node' +import { WorkflowVariableBlockNode } from '../index' +import { $createWorkflowVariableBlockNode } from '../node' +import WorkflowVariableBlockReplacementBlock from '../workflow-variable-block-replacement-block' vi.mock('@lexical/utils') vi.mock('lexical') -vi.mock('../../utils') -vi.mock('./node') +vi.mock('../../../utils') +vi.mock('../node') const mockHasNodes = vi.fn() const mockRegisterNodeTransform = vi.fn() diff --git a/web/app/components/base/prompt-log-modal/card.spec.tsx b/web/app/components/base/prompt-log-modal/__tests__/card.spec.tsx similarity index 96% rename from web/app/components/base/prompt-log-modal/card.spec.tsx rename to web/app/components/base/prompt-log-modal/__tests__/card.spec.tsx index 500e9db941..3b312343d9 100644 --- a/web/app/components/base/prompt-log-modal/card.spec.tsx +++ b/web/app/components/base/prompt-log-modal/__tests__/card.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import Card from './card' +import Card from '../card' describe('PromptLogModal Card', () => { it('renders single log entry correctly', () => { diff --git a/web/app/components/base/prompt-log-modal/index.spec.tsx b/web/app/components/base/prompt-log-modal/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/prompt-log-modal/index.spec.tsx rename to web/app/components/base/prompt-log-modal/__tests__/index.spec.tsx index c04e668026..05c1e5d093 100644 --- a/web/app/components/base/prompt-log-modal/index.spec.tsx +++ b/web/app/components/base/prompt-log-modal/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import PromptLogModal from '.' +import PromptLogModal from '..' describe('PromptLogModal', () => { const defaultProps = { diff --git a/web/app/components/base/qrcode/index.spec.tsx b/web/app/components/base/qrcode/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/qrcode/index.spec.tsx rename to web/app/components/base/qrcode/__tests__/index.spec.tsx index 3e1d5ff6d9..fbad4163c4 100644 --- a/web/app/components/base/qrcode/index.spec.tsx +++ b/web/app/components/base/qrcode/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { downloadUrl } from '@/utils/download' -import ShareQRCode from '.' +import ShareQRCode from '..' vi.mock('@/utils/download', () => ({ downloadUrl: vi.fn(), diff --git a/web/app/components/base/radio-card/index.spec.tsx b/web/app/components/base/radio-card/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/radio-card/index.spec.tsx rename to web/app/components/base/radio-card/__tests__/index.spec.tsx index f1368476bf..f4bc7a5b0e 100644 --- a/web/app/components/base/radio-card/index.spec.tsx +++ b/web/app/components/base/radio-card/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' // index.spec.tsx import { describe, expect, it, vi } from 'vitest' -import RadioCard from './index' +import RadioCard from '../index' describe('RadioCard', () => { it('renders icon, title and description', () => { diff --git a/web/app/components/base/radio-card/simple/index.spec.tsx b/web/app/components/base/radio-card/simple/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/radio-card/simple/index.spec.tsx rename to web/app/components/base/radio-card/simple/__tests__/index.spec.tsx index 42e03484e8..d04cefe61a 100644 --- a/web/app/components/base/radio-card/simple/index.spec.tsx +++ b/web/app/components/base/radio-card/simple/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' // index.spec.tsx import { describe, expect, it, vi } from 'vitest' -import RadioCard from './index' +import RadioCard from '../index' describe('RadioCard', () => { it('renders title and description', () => { diff --git a/web/app/components/base/radio/index.spec.tsx b/web/app/components/base/radio/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/radio/index.spec.tsx rename to web/app/components/base/radio/__tests__/index.spec.tsx index 838a0eb0ef..6a81648400 100644 --- a/web/app/components/base/radio/index.spec.tsx +++ b/web/app/components/base/radio/__tests__/index.spec.tsx @@ -2,8 +2,8 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' // index.spec.tsx import { describe, expect, it, vi } from 'vitest' -import Group from './component/group' -import Radio from './index' +import Group from '../component/group' +import Radio from '../index' describe('Radio (index)', () => { it('attaches Group as a property on the default export', () => { diff --git a/web/app/components/base/radio/ui.spec.tsx b/web/app/components/base/radio/__tests__/ui.spec.tsx similarity index 98% rename from web/app/components/base/radio/ui.spec.tsx rename to web/app/components/base/radio/__tests__/ui.spec.tsx index 7dec5f3660..cb8d18e0b8 100644 --- a/web/app/components/base/radio/ui.spec.tsx +++ b/web/app/components/base/radio/__tests__/ui.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' // radio-ui.spec.tsx import { describe, expect, it, vi } from 'vitest' -import RadioUI from './ui' +import RadioUI from '../ui' describe('RadioUI component', () => { it('renders with correct role and aria attributes', () => { diff --git a/web/app/components/base/radio/component/group/index.spec.tsx b/web/app/components/base/radio/component/group/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/radio/component/group/index.spec.tsx rename to web/app/components/base/radio/component/group/__tests__/index.spec.tsx index e417c2a203..32ca0f2d86 100644 --- a/web/app/components/base/radio/component/group/index.spec.tsx +++ b/web/app/components/base/radio/component/group/__tests__/index.spec.tsx @@ -3,8 +3,8 @@ import userEvent from '@testing-library/user-event' import { useContextSelector } from 'use-context-selector' // Group.test.tsx import { describe, expect, it, vi } from 'vitest' -import RadioGroupContext from '../../context' -import Group from './index' +import RadioGroupContext from '../../../context' +import Group from '../index' // small consumer that uses the same context as your component function ContextConsumer({ showButton = true }: { showButton?: boolean }) { diff --git a/web/app/components/base/radio/component/radio/index.spec.tsx b/web/app/components/base/radio/component/radio/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/radio/component/radio/index.spec.tsx rename to web/app/components/base/radio/component/radio/__tests__/index.spec.tsx index cdf0587453..bab5d64e38 100644 --- a/web/app/components/base/radio/component/radio/index.spec.tsx +++ b/web/app/components/base/radio/component/radio/__tests__/index.spec.tsx @@ -2,8 +2,8 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' // index.spec.tsx import { describe, expect, it, vi } from 'vitest' -import RadioGroupContext from '../../context' -import Radio from './index' +import RadioGroupContext from '../../../context' +import Radio from '../index' describe('Radio component', () => { it('renders label children and assigns an id to the label', () => { diff --git a/web/app/components/base/radio/context/index.spec.tsx b/web/app/components/base/radio/context/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/radio/context/index.spec.tsx rename to web/app/components/base/radio/context/__tests__/index.spec.tsx index 105bbbed3c..17b40c58e8 100644 --- a/web/app/components/base/radio/context/index.spec.tsx +++ b/web/app/components/base/radio/context/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react' import { useContextSelector } from 'use-context-selector' // context.spec.tsx import { describe, expect, it } from 'vitest' -import RadioGroupContext from './index' +import RadioGroupContext from '../index' function Consumer() { const value = useContextSelector(RadioGroupContext, v => v) diff --git a/web/app/components/base/search-input/index.spec.tsx b/web/app/components/base/search-input/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/search-input/index.spec.tsx rename to web/app/components/base/search-input/__tests__/index.spec.tsx index db70087d85..44c13b9d48 100644 --- a/web/app/components/base/search-input/index.spec.tsx +++ b/web/app/components/base/search-input/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import SearchInput from '.' +import SearchInput from '..' describe('SearchInput', () => { describe('Render', () => { diff --git a/web/app/components/base/segmented-control/index.spec.tsx b/web/app/components/base/segmented-control/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/segmented-control/index.spec.tsx rename to web/app/components/base/segmented-control/__tests__/index.spec.tsx index d83ec58757..f92d5b29b0 100644 --- a/web/app/components/base/segmented-control/index.spec.tsx +++ b/web/app/components/base/segmented-control/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import SegmentedControl from './index' +import SegmentedControl from '../index' describe('SegmentedControl', () => { const options = [ diff --git a/web/app/components/base/select/custom.spec.tsx b/web/app/components/base/select/__tests__/custom.spec.tsx similarity index 98% rename from web/app/components/base/select/custom.spec.tsx rename to web/app/components/base/select/__tests__/custom.spec.tsx index 994045610c..8868d70fc4 100644 --- a/web/app/components/base/select/custom.spec.tsx +++ b/web/app/components/base/select/__tests__/custom.spec.tsx @@ -1,7 +1,7 @@ -import type { Option } from './custom' +import type { Option } from '../custom' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import CustomSelect from './custom' +import CustomSelect from '../custom' const options: Option[] = [ { label: 'First option', value: 'first' }, diff --git a/web/app/components/base/select/index.spec.tsx b/web/app/components/base/select/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/select/index.spec.tsx rename to web/app/components/base/select/__tests__/index.spec.tsx index b30381942b..b3e518eaf1 100644 --- a/web/app/components/base/select/index.spec.tsx +++ b/web/app/components/base/select/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ -import type { Item } from './index' +import type { Item } from '../index' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import Select, { PortalSelect, SimpleSelect } from './index' +import Select, { PortalSelect, SimpleSelect } from '../index' const items: Item[] = [ { value: 'apple', name: 'Apple' }, diff --git a/web/app/components/base/select/locale-signin.spec.tsx b/web/app/components/base/select/__tests__/locale-signin.spec.tsx similarity index 98% rename from web/app/components/base/select/locale-signin.spec.tsx rename to web/app/components/base/select/__tests__/locale-signin.spec.tsx index ec08de30b6..1eca2b1aed 100644 --- a/web/app/components/base/select/locale-signin.spec.tsx +++ b/web/app/components/base/select/__tests__/locale-signin.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import LocaleSigninSelect from './locale-signin' +import LocaleSigninSelect from '../locale-signin' const localeItems = [ { value: 'en-US', name: 'English (US)' }, diff --git a/web/app/components/base/select/locale.spec.tsx b/web/app/components/base/select/__tests__/locale.spec.tsx similarity index 98% rename from web/app/components/base/select/locale.spec.tsx rename to web/app/components/base/select/__tests__/locale.spec.tsx index 10e32ff9f7..2c1c83bf95 100644 --- a/web/app/components/base/select/locale.spec.tsx +++ b/web/app/components/base/select/__tests__/locale.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import LocaleSelect from './locale' +import LocaleSelect from '../locale' const localeItems = [ { value: 'en-US', name: 'English (US)' }, diff --git a/web/app/components/base/select/pure.spec.tsx b/web/app/components/base/select/__tests__/pure.spec.tsx similarity index 98% rename from web/app/components/base/select/pure.spec.tsx rename to web/app/components/base/select/__tests__/pure.spec.tsx index fb7fc3ab07..885ee99c52 100644 --- a/web/app/components/base/select/pure.spec.tsx +++ b/web/app/components/base/select/__tests__/pure.spec.tsx @@ -1,7 +1,7 @@ -import type { Option } from './pure' +import type { Option } from '../pure' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import PureSelect from './pure' +import PureSelect from '../pure' const options: Option[] = [ { label: 'Apple', value: 'apple' }, diff --git a/web/app/components/base/simple-pie-chart/index.spec.tsx b/web/app/components/base/simple-pie-chart/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/simple-pie-chart/index.spec.tsx rename to web/app/components/base/simple-pie-chart/__tests__/index.spec.tsx index f1403ffe20..2f511e8392 100644 --- a/web/app/components/base/simple-pie-chart/index.spec.tsx +++ b/web/app/components/base/simple-pie-chart/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { render } from '@testing-library/react' -import SimplePieChart from '.' +import SimplePieChart from '..' describe('SimplePieChart', () => { describe('Rendering', () => { diff --git a/web/app/components/base/skeleton/index.spec.tsx b/web/app/components/base/skeleton/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/skeleton/index.spec.tsx rename to web/app/components/base/skeleton/__tests__/index.spec.tsx index 8f0d9a6837..00852f7031 100644 --- a/web/app/components/base/skeleton/index.spec.tsx +++ b/web/app/components/base/skeleton/__tests__/index.spec.tsx @@ -6,7 +6,7 @@ import { SkeletonPoint, SkeletonRectangle, SkeletonRow, -} from './index' +} from '../index' describe('Skeleton Components', () => { describe('Individual Components', () => { diff --git a/web/app/components/base/slider/index.spec.tsx b/web/app/components/base/slider/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/slider/index.spec.tsx rename to web/app/components/base/slider/__tests__/index.spec.tsx index c9ebabd63e..bb1f030689 100644 --- a/web/app/components/base/slider/index.spec.tsx +++ b/web/app/components/base/slider/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { act, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import Slider from './index' +import Slider from '../index' describe('Slider Component', () => { it('should render with correct default ARIA limits and current value', () => { diff --git a/web/app/components/base/sort/index.spec.tsx b/web/app/components/base/sort/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/sort/index.spec.tsx rename to web/app/components/base/sort/__tests__/index.spec.tsx index 92ea2b44f9..e51ec23805 100644 --- a/web/app/components/base/sort/index.spec.tsx +++ b/web/app/components/base/sort/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import { render, screen, waitFor, within } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { describe, expect, it, vi } from 'vitest' -import Sort from './index' +import Sort from '../index' const mockItems = [ { value: 'created_at', name: 'Date Created' }, diff --git a/web/app/components/base/spinner/index.spec.tsx b/web/app/components/base/spinner/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/spinner/index.spec.tsx rename to web/app/components/base/spinner/__tests__/index.spec.tsx index 652d061206..50cf2d3b04 100644 --- a/web/app/components/base/spinner/index.spec.tsx +++ b/web/app/components/base/spinner/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render } from '@testing-library/react' import * as React from 'react' -import Spinner from './index' +import Spinner from '../index' describe('Spinner component', () => { it('should render correctly when loading is true', () => { diff --git a/web/app/components/base/svg-gallery/index.spec.tsx b/web/app/components/base/svg-gallery/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/svg-gallery/index.spec.tsx rename to web/app/components/base/svg-gallery/__tests__/index.spec.tsx index 01994f0a16..c990f0211f 100644 --- a/web/app/components/base/svg-gallery/index.spec.tsx +++ b/web/app/components/base/svg-gallery/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { act, fireEvent, render, screen, waitFor } from '@testing-library/react' -import SVGRenderer from '.' +import SVGRenderer from '..' const mockClick = vi.fn() const mockSvg = vi.fn().mockReturnValue({ diff --git a/web/app/components/base/svg/index.spec.tsx b/web/app/components/base/svg/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/svg/index.spec.tsx rename to web/app/components/base/svg/__tests__/index.spec.tsx index fd05af0e70..88d5969729 100644 --- a/web/app/components/base/svg/index.spec.tsx +++ b/web/app/components/base/svg/__tests__/index.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react' -import SVGBtn from '.' +import SVGBtn from '..' describe('SVGBtn', () => { describe('Rendering', () => { diff --git a/web/app/components/base/switch/index.spec.tsx b/web/app/components/base/switch/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/switch/index.spec.tsx rename to web/app/components/base/switch/__tests__/index.spec.tsx index d4788939c6..127efc987f 100644 --- a/web/app/components/base/switch/index.spec.tsx +++ b/web/app/components/base/switch/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import Switch from './index' +import Switch from '../index' describe('Switch', () => { it('should render in unchecked state when value is false', () => { diff --git a/web/app/components/base/tab-header/index.spec.tsx b/web/app/components/base/tab-header/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/tab-header/index.spec.tsx rename to web/app/components/base/tab-header/__tests__/index.spec.tsx index df0a827e57..ee10415154 100644 --- a/web/app/components/base/tab-header/index.spec.tsx +++ b/web/app/components/base/tab-header/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen, within } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import TabHeader from './index' +import TabHeader from '../index' describe('TabHeader Component', () => { const mockItems = [ diff --git a/web/app/components/base/tab-slider-new/index.spec.tsx b/web/app/components/base/tab-slider-new/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/tab-slider-new/index.spec.tsx rename to web/app/components/base/tab-slider-new/__tests__/index.spec.tsx index d47afb2aed..a8772093c3 100644 --- a/web/app/components/base/tab-slider-new/index.spec.tsx +++ b/web/app/components/base/tab-slider-new/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import TabSliderNew from './index' +import TabSliderNew from '../index' describe('TabSliderNew Component', () => { const mockOptions = [ diff --git a/web/app/components/base/tab-slider-plain/index.spec.tsx b/web/app/components/base/tab-slider-plain/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/tab-slider-plain/index.spec.tsx rename to web/app/components/base/tab-slider-plain/__tests__/index.spec.tsx index 40c5b8c329..898ff99ce9 100644 --- a/web/app/components/base/tab-slider-plain/index.spec.tsx +++ b/web/app/components/base/tab-slider-plain/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen, within } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import TabSlider from './index' +import TabSlider from '../index' describe('TabSlider Component', () => { const mockOptions = [ diff --git a/web/app/components/base/tab-slider/index.spec.tsx b/web/app/components/base/tab-slider/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/tab-slider/index.spec.tsx rename to web/app/components/base/tab-slider/__tests__/index.spec.tsx index 373c984d59..51794a7087 100644 --- a/web/app/components/base/tab-slider/index.spec.tsx +++ b/web/app/components/base/tab-slider/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { cleanup, fireEvent, render, screen } from '@testing-library/react' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { useInstalledPluginList } from '@/service/use-plugins' -import TabSlider from './index' +import TabSlider from '../index' // Mock the service hook vi.mock('@/service/use-plugins', () => ({ diff --git a/web/app/components/base/tag-input/index.spec.tsx b/web/app/components/base/tag-input/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/tag-input/index.spec.tsx rename to web/app/components/base/tag-input/__tests__/index.spec.tsx index 077f938570..b091d9cd03 100644 --- a/web/app/components/base/tag-input/index.spec.tsx +++ b/web/app/components/base/tag-input/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import type { ComponentProps } from 'react' import { createEvent, fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import TagInput from './index' +import TagInput from '../index' const mockNotify = vi.fn() diff --git a/web/app/components/base/tag-management/filter.spec.tsx b/web/app/components/base/tag-management/__tests__/filter.spec.tsx similarity index 99% rename from web/app/components/base/tag-management/filter.spec.tsx rename to web/app/components/base/tag-management/__tests__/filter.spec.tsx index 0f5b4d9ac6..3cffac29b2 100644 --- a/web/app/components/base/tag-management/filter.spec.tsx +++ b/web/app/components/base/tag-management/__tests__/filter.spec.tsx @@ -3,8 +3,8 @@ import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { act } from 'react' import * as React from 'react' -import TagFilter from './filter' -import { useStore as useTagStore } from './store' +import TagFilter from '../filter' +import { useStore as useTagStore } from '../store' const { fetchTagList } = vi.hoisted(() => ({ fetchTagList: vi.fn(), diff --git a/web/app/components/base/tag-management/index.spec.tsx b/web/app/components/base/tag-management/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/tag-management/index.spec.tsx rename to web/app/components/base/tag-management/__tests__/index.spec.tsx index 846c23484b..5e01aeaf19 100644 --- a/web/app/components/base/tag-management/index.spec.tsx +++ b/web/app/components/base/tag-management/__tests__/index.spec.tsx @@ -3,8 +3,8 @@ import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { act } from 'react' -import TagManagementModal from './index' -import { useStore as useTagStore } from './store' +import TagManagementModal from '../index' +import { useStore as useTagStore } from '../store' // Hoisted mocks const { fetchTagList, createTag } = vi.hoisted(() => ({ diff --git a/web/app/components/base/tag-management/panel.spec.tsx b/web/app/components/base/tag-management/__tests__/panel.spec.tsx similarity index 99% rename from web/app/components/base/tag-management/panel.spec.tsx rename to web/app/components/base/tag-management/__tests__/panel.spec.tsx index d3b3279c12..c91c72e583 100644 --- a/web/app/components/base/tag-management/panel.spec.tsx +++ b/web/app/components/base/tag-management/__tests__/panel.spec.tsx @@ -4,8 +4,8 @@ import userEvent from '@testing-library/user-event' import * as React from 'react' import { act } from 'react' import { ToastContext } from '@/app/components/base/toast' -import Panel from './panel' -import { useStore as useTagStore } from './store' +import Panel from '../panel' +import { useStore as useTagStore } from '../store' // Hoisted mocks const { createTag, bindTag, unBindTag, contextOverrides } = vi.hoisted(() => ({ diff --git a/web/app/components/base/tag-management/selector.spec.tsx b/web/app/components/base/tag-management/__tests__/selector.spec.tsx similarity index 98% rename from web/app/components/base/tag-management/selector.spec.tsx rename to web/app/components/base/tag-management/__tests__/selector.spec.tsx index 6c66c83703..dc58ca37e6 100644 --- a/web/app/components/base/tag-management/selector.spec.tsx +++ b/web/app/components/base/tag-management/__tests__/selector.spec.tsx @@ -4,8 +4,8 @@ import userEvent from '@testing-library/user-event' import * as React from 'react' import { act } from 'react' import { ToastContext } from '@/app/components/base/toast' -import TagSelector from './selector' -import { useStore as useTagStore } from './store' +import TagSelector from '../selector' +import { useStore as useTagStore } from '../store' // Hoisted mocks const { fetchTagList, createTag, bindTag, unBindTag } = vi.hoisted(() => ({ @@ -43,6 +43,7 @@ vi.mock('@/app/components/base/popover', () => { : btnClassName const content = React.isValidElement(htmlContent) + // eslint-disable-next-line react/no-clone-element ? React.cloneElement(htmlContent as React.ReactElement, { open: isOpen, onClose: () => setIsOpen(false), diff --git a/web/app/components/base/tag-management/tag-item-editor.spec.tsx b/web/app/components/base/tag-management/__tests__/tag-item-editor.spec.tsx similarity index 98% rename from web/app/components/base/tag-management/tag-item-editor.spec.tsx rename to web/app/components/base/tag-management/__tests__/tag-item-editor.spec.tsx index 5dfd90f283..3043f0327f 100644 --- a/web/app/components/base/tag-management/tag-item-editor.spec.tsx +++ b/web/app/components/base/tag-management/__tests__/tag-item-editor.spec.tsx @@ -3,8 +3,8 @@ import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import * as React from 'react' import { act } from 'react' -import { useStore as useTagStore } from './store' -import TagItemEditor from './tag-item-editor' +import { useStore as useTagStore } from '../store' +import TagItemEditor from '../tag-item-editor' const { updateTag, deleteTag, mockNotify } = vi.hoisted(() => ({ updateTag: vi.fn(), diff --git a/web/app/components/base/tag-management/tag-remove-modal.spec.tsx b/web/app/components/base/tag-management/__tests__/tag-remove-modal.spec.tsx similarity index 97% rename from web/app/components/base/tag-management/tag-remove-modal.spec.tsx rename to web/app/components/base/tag-management/__tests__/tag-remove-modal.spec.tsx index 65e4879739..943b7bc8ff 100644 --- a/web/app/components/base/tag-management/tag-remove-modal.spec.tsx +++ b/web/app/components/base/tag-management/__tests__/tag-remove-modal.spec.tsx @@ -1,7 +1,7 @@ -import type { Tag } from './constant' +import type { Tag } from '../constant' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' -import TagRemoveModal from './tag-remove-modal' +import TagRemoveModal from '../tag-remove-modal' const mockTag: Tag = { id: 'tag-1', diff --git a/web/app/components/base/tag-management/trigger.spec.tsx b/web/app/components/base/tag-management/__tests__/trigger.spec.tsx similarity index 98% rename from web/app/components/base/tag-management/trigger.spec.tsx rename to web/app/components/base/tag-management/__tests__/trigger.spec.tsx index d7787c503a..e188c4fed9 100644 --- a/web/app/components/base/tag-management/trigger.spec.tsx +++ b/web/app/components/base/tag-management/__tests__/trigger.spec.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import Trigger from './trigger' +import Trigger from '../trigger' describe('Trigger', () => { beforeEach(() => { diff --git a/web/app/components/base/tag/index.spec.tsx b/web/app/components/base/tag/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/tag/index.spec.tsx rename to web/app/components/base/tag/__tests__/index.spec.tsx index 76d2915ba8..5fafa568b3 100644 --- a/web/app/components/base/tag/index.spec.tsx +++ b/web/app/components/base/tag/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { describe, expect, it } from 'vitest' -import Tag from './index' +import Tag from '../index' import '@testing-library/jest-dom/vitest' describe('Tag Component', () => { diff --git a/web/app/components/base/text-generation/hooks.spec.ts b/web/app/components/base/text-generation/__tests__/hooks.spec.ts similarity index 99% rename from web/app/components/base/text-generation/hooks.spec.ts rename to web/app/components/base/text-generation/__tests__/hooks.spec.ts index f25dd3b945..cab06f1c8a 100644 --- a/web/app/components/base/text-generation/hooks.spec.ts +++ b/web/app/components/base/text-generation/__tests__/hooks.spec.ts @@ -1,6 +1,6 @@ import type { IOtherOptions } from '@/service/base' import { act, renderHook } from '@testing-library/react' -import { useTextGeneration } from './hooks' +import { useTextGeneration } from '../hooks' const mockNotify = vi.fn() const mockSsePost = vi.fn<(url: string, fetchOptions: { body: Record }, otherOptions: IOtherOptions) => void>() diff --git a/web/app/components/base/textarea/index.spec.tsx b/web/app/components/base/textarea/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/textarea/index.spec.tsx rename to web/app/components/base/textarea/__tests__/index.spec.tsx index 404785d2e4..7de2d7e0f9 100644 --- a/web/app/components/base/textarea/index.spec.tsx +++ b/web/app/components/base/textarea/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import TextArea from './index' +import TextArea from '../index' describe('TextArea', () => { it('should render correctly with default props', () => { diff --git a/web/app/components/base/timezone-label/index.spec.tsx b/web/app/components/base/timezone-label/__tests__/index.spec.tsx similarity index 97% rename from web/app/components/base/timezone-label/index.spec.tsx rename to web/app/components/base/timezone-label/__tests__/index.spec.tsx index c43aa61936..4beb72d165 100644 --- a/web/app/components/base/timezone-label/index.spec.tsx +++ b/web/app/components/base/timezone-label/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { describe, expect, it } from 'vitest' -import TimezoneLabel from './index' +import TimezoneLabel from '../index' describe('TimezoneLabel', () => { it('should render correctly with various timezones', () => { diff --git a/web/app/components/base/toast/index.spec.tsx b/web/app/components/base/toast/__tests__/index.spec.tsx similarity index 98% rename from web/app/components/base/toast/index.spec.tsx rename to web/app/components/base/toast/__tests__/index.spec.tsx index cc5a1e7c6d..f526290fa1 100644 --- a/web/app/components/base/toast/index.spec.tsx +++ b/web/app/components/base/toast/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import type { ReactNode } from 'react' import { act, render, screen, waitFor } from '@testing-library/react' import { noop } from 'es-toolkit/function' import * as React from 'react' -import Toast, { ToastProvider, useToastContext } from '.' +import Toast, { ToastProvider, useToastContext } from '..' const TestComponent = () => { const { notify, close } = useToastContext() diff --git a/web/app/components/base/tooltip/content.spec.tsx b/web/app/components/base/tooltip/__tests__/content.spec.tsx similarity index 97% rename from web/app/components/base/tooltip/content.spec.tsx rename to web/app/components/base/tooltip/__tests__/content.spec.tsx index 314c773ce1..fa5d86756e 100644 --- a/web/app/components/base/tooltip/content.spec.tsx +++ b/web/app/components/base/tooltip/__tests__/content.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { describe, expect, it, vi } from 'vitest' -import { ToolTipContent } from './content' +import { ToolTipContent } from '../content' describe('ToolTipContent', () => { it('should render children correctly', () => { diff --git a/web/app/components/base/tooltip/index.spec.tsx b/web/app/components/base/tooltip/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/tooltip/index.spec.tsx rename to web/app/components/base/tooltip/__tests__/index.spec.tsx index 66d3157ddc..7ee31b59c7 100644 --- a/web/app/components/base/tooltip/index.spec.tsx +++ b/web/app/components/base/tooltip/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { act, cleanup, fireEvent, render, screen } from '@testing-library/react' import * as React from 'react' -import Tooltip from './index' +import Tooltip from '../index' afterEach(cleanup) diff --git a/web/app/components/base/video-gallery/VideoPlayer.spec.tsx b/web/app/components/base/video-gallery/__tests__/VideoPlayer.spec.tsx similarity index 99% rename from web/app/components/base/video-gallery/VideoPlayer.spec.tsx rename to web/app/components/base/video-gallery/__tests__/VideoPlayer.spec.tsx index 04d9ccc4c8..3e1890c573 100644 --- a/web/app/components/base/video-gallery/VideoPlayer.spec.tsx +++ b/web/app/components/base/video-gallery/__tests__/VideoPlayer.spec.tsx @@ -1,7 +1,7 @@ import { act, fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { beforeEach, describe, expect, it, vi } from 'vitest' -import VideoPlayer from './VideoPlayer' +import VideoPlayer from '../VideoPlayer' describe('VideoPlayer', () => { const mockSrc = 'video.mp4' diff --git a/web/app/components/base/video-gallery/index.spec.tsx b/web/app/components/base/video-gallery/__tests__/index.spec.tsx similarity index 95% rename from web/app/components/base/video-gallery/index.spec.tsx rename to web/app/components/base/video-gallery/__tests__/index.spec.tsx index 717e57e1ff..d32f627c2c 100644 --- a/web/app/components/base/video-gallery/index.spec.tsx +++ b/web/app/components/base/video-gallery/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { describe, expect, it } from 'vitest' -import VideoGallery from './index' +import VideoGallery from '../index' describe('VideoGallery', () => { const mockSrcs = ['video1.mp4', 'video2.mp4'] diff --git a/web/app/components/base/voice-input/index.spec.tsx b/web/app/components/base/voice-input/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/voice-input/index.spec.tsx rename to web/app/components/base/voice-input/__tests__/index.spec.tsx index fa32f0425f..8d7940fb08 100644 --- a/web/app/components/base/voice-input/index.spec.tsx +++ b/web/app/components/base/voice-input/__tests__/index.spec.tsx @@ -2,7 +2,7 @@ import { render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { beforeEach, describe, expect, it, vi } from 'vitest' import { audioToText } from '@/service/share' -import VoiceInput from './index' +import VoiceInput from '../index' const { mockState, MockRecorder } = vi.hoisted(() => { const state = { @@ -50,7 +50,7 @@ vi.mock('next/navigation', () => ({ usePathname: vi.fn(() => mockState.pathname), })) -vi.mock('./utils', () => ({ +vi.mock('../utils', () => ({ convertToMp3: vi.fn(() => new Blob(['test'], { type: 'audio/mp3' })), })) diff --git a/web/app/components/base/with-input-validation/index.spec.tsx b/web/app/components/base/with-input-validation/__tests__/index.spec.tsx similarity index 85% rename from web/app/components/base/with-input-validation/index.spec.tsx rename to web/app/components/base/with-input-validation/__tests__/index.spec.tsx index 3bfcbfc9e4..6c3337ba00 100644 --- a/web/app/components/base/with-input-validation/index.spec.tsx +++ b/web/app/components/base/with-input-validation/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react' import { noop } from 'es-toolkit/function' import * as z from 'zod' -import withValidation from '.' +import withValidation from '..' describe('withValidation HOC', () => { // schema for validation @@ -35,12 +35,12 @@ describe('withValidation HOC', () => { }) it('renders the component when props is invalid but not in schema ', () => { - render() + render() expect(screen.getByText('Valid Name - aaa')).toBeInTheDocument() }) it('does not render the component when validation fails', () => { - render() + render() expect(screen.queryByText('123 - 30')).toBeNull() }) }) diff --git a/web/app/components/base/zendesk/index.spec.tsx b/web/app/components/base/zendesk/__tests__/index.spec.tsx similarity index 99% rename from web/app/components/base/zendesk/index.spec.tsx rename to web/app/components/base/zendesk/__tests__/index.spec.tsx index abf0210f37..4ab84a0088 100644 --- a/web/app/components/base/zendesk/index.spec.tsx +++ b/web/app/components/base/zendesk/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import type { ReactNode } from 'react' import { render, screen } from '@testing-library/react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import Zendesk from './index' +import Zendesk from '../index' // Shared state for mocks let mockIsCeEdition = false