Skip to content

Commit ab1eac3

Browse files
committed
test(InputPrompt): 更新测试mock组件及加载状态按钮测试
- 新增 DropdownMenuGroup、DropdownMenuLabel、DropdownMenuRadioGroup 和 DropdownMenuRadioItem 的 mock 实现 - 新增 Item、ItemContent、ItemDescription、ItemMedia 和 ItemTitle 组件的 mock 实现 - 新增 Hand 和 SquareChartGantt 图标组件的 mock 实现 - 修改加载状态测试中断按钮的选取方式,从 data-testid 改为 title 属性 "Stop" - 确保点击中断按钮触发 onInterrupt 回调 - 更新了 ItemDescription 文本内容以反映功能变化
1 parent 4056598 commit ab1eac3

3 files changed

Lines changed: 19 additions & 5 deletions

File tree

packages/vscode-ide-companion/src/webview/components/InputPrompt.test.tsx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,18 @@ vi.mock("@/webview/components/ui/dropdown-menu", () => ({
7777
DropdownMenuTrigger: vi.fn(({ children }) => <div data-testid="dropdown-trigger">{children}</div>),
7878
DropdownMenuContent: vi.fn(({ children }) => <div data-testid="dropdown-content">{children}</div>),
7979
DropdownMenuItem: vi.fn(({ children }) => <div data-testid="dropdown-item">{children}</div>),
80+
DropdownMenuGroup: vi.fn(({ children }) => <div>{children}</div>),
81+
DropdownMenuLabel: vi.fn(({ children }) => <div>{children}</div>),
82+
DropdownMenuRadioGroup: vi.fn(({ children }) => <div>{children}</div>),
83+
DropdownMenuRadioItem: vi.fn(({ children }) => <div>{children}</div>),
84+
}));
85+
86+
vi.mock("@/webview/components/ui/item", () => ({
87+
Item: vi.fn(({ children }) => <div>{children}</div>),
88+
ItemContent: vi.fn(({ children }) => <div>{children}</div>),
89+
ItemDescription: vi.fn(({ children }) => <div>{children}</div>),
90+
ItemMedia: vi.fn(({ children }) => <div>{children}</div>),
91+
ItemTitle: vi.fn(({ children }) => <div>{children}</div>),
8092
}));
8193

8294
vi.mock("@/webview/components/ui/scroll-area", () => ({
@@ -141,6 +153,8 @@ vi.mock("lucide-react", () => ({
141153
Loader2Icon: vi.fn(() => <span data-testid="loader-icon" />),
142154
Settings: vi.fn(() => <span data-testid="settings-icon" />),
143155
Info: vi.fn(() => <span data-testid="info-icon" />),
156+
Hand: vi.fn(() => <span data-testid="hand-icon" />),
157+
SquareChartGantt: vi.fn(() => <span data-testid="gantt-icon" />),
144158
}));
145159

146160
const mockOnSendPrompt =
@@ -505,12 +519,12 @@ describe("InputPrompt", () => {
505519
describe("Loading state", () => {
506520
it("renders interrupt button when loading", () => {
507521
render(<InputPrompt {...defaultProps} loading={true} />);
508-
expect(screen.getByTestId("input-group-button")).toBeInTheDocument();
522+
expect(screen.getByTitle("Stop")).toBeInTheDocument();
509523
});
510524

511525
it("calls onInterrupt when interrupt button clicked", () => {
512526
render(<InputPrompt {...defaultProps} loading={true} />);
513-
const button = screen.getByTestId("input-group-button");
527+
const button = screen.getByTitle("Stop");
514528
fireEvent.click(button);
515529
expect(mockOnInterrupt).toHaveBeenCalled();
516530
});

packages/vscode-ide-companion/src/webview/components/InputPrompt.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ export default function InputPrompt({
302302
<ItemContent>
303303
<ItemTitle className="text-xs">Default</ItemTitle>
304304
<ItemDescription className="text-[10px]">
305-
Deep code will ask for approval before making each edit
305+
Deep Code will make edits and run commands to complete your task
306306
</ItemDescription>
307307
</ItemContent>
308308
</Item>

packages/vscode-ide-companion/src/webview/components/Messages.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ describe("Messages", () => {
5050
processes: null,
5151
};
5252

53-
it("renders empty messages", () => {
53+
it("renders welcome screen when no messages", () => {
5454
render(<Messages {...defaultProps} />);
55-
expect(screen.getByTestId("scroll-area")).toBeInTheDocument();
55+
expect(screen.getByText("Welcome to the Deep Code AI IDE!")).toBeInTheDocument();
5656
});
5757

5858
it("renders user message", () => {

0 commit comments

Comments
 (0)