diff --git a/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.module.css b/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.module.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.spec.tsx b/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.spec.tsx index ae0dd8cd4d..bd4ae8cb80 100644 --- a/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.spec.tsx +++ b/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.spec.tsx @@ -1,6 +1,6 @@ import type { AppContextValue } from '@/context/app-context' import type { ICurrentWorkspace } from '@/models/common' -import { render, screen, waitFor } from '@testing-library/react' +import { fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { vi } from 'vitest' import { ToastContext } from '@/app/components/base/toast/context' @@ -40,6 +40,12 @@ describe('EditWorkspaceModal', () => { expect(await screen.findByDisplayValue('Test Workspace')).toBeInTheDocument() }) + it('should render on the base/ui overlay layer', async () => { + renderModal() + + expect(await screen.findByRole('dialog')).toHaveClass('z-[1002]') + }) + it('should let user edit workspace name', async () => { const user = userEvent.setup() @@ -133,4 +139,14 @@ describe('EditWorkspaceModal', () => { await user.click(screen.getByTestId('edit-workspace-cancel')) expect(mockOnCancel).toHaveBeenCalled() }) + + it('should call onCancel when Escape key is pressed', async () => { + renderModal() + + fireEvent.keyDown(document, { key: 'Escape' }) + + await waitFor(() => { + expect(mockOnCancel).toHaveBeenCalled() + }) + }) }) diff --git a/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.tsx b/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.tsx index 1c3984b0b5..2536b9793e 100644 --- a/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.tsx +++ b/web/app/components/header/account-setting/members-page/edit-workspace-modal/index.tsx @@ -1,16 +1,13 @@ 'use client' -import { noop } from 'es-toolkit/function' import { useState } from 'react' import { useTranslation } from 'react-i18next' import { useContext } from 'use-context-selector' import Button from '@/app/components/base/button' import Input from '@/app/components/base/input' -import Modal from '@/app/components/base/modal' import { ToastContext } from '@/app/components/base/toast/context' +import { Dialog, DialogContent } from '@/app/components/base/ui/dialog' import { useAppContext } from '@/context/app-context' import { updateWorkspaceInfo } from '@/service/common' -import { cn } from '@/utils/classnames' -import s from './index.module.css' type IEditWorkspaceModalProps = { onCancel: () => void @@ -40,8 +37,17 @@ const EditWorkspaceModal = ({ } return ( -