mirror of
https://github.com/OpenHands/OpenHands.git
synced 2026-03-22 13:47:19 +08:00
Co-authored-by: Mohammed Abdulai <nurud43@gmail.com> Co-authored-by: hieptl <hieptl.developer@gmail.com>
77 lines
1.9 KiB
TypeScript
77 lines
1.9 KiB
TypeScript
import { render, screen } from "@testing-library/react";
|
|
import { describe, it, expect, beforeEach, vi } from "vitest";
|
|
import { MemoryRouter } from "react-router";
|
|
import { TaskSuggestions } from "#/components/features/home/tasks/task-suggestions";
|
|
|
|
// Mock translation
|
|
vi.mock("react-i18next", () => ({
|
|
useTranslation: () => ({
|
|
t: (key: string) => key,
|
|
}),
|
|
}));
|
|
|
|
// Mock suggested tasks hook
|
|
vi.mock("#/hooks/query/use-suggested-tasks", () => ({
|
|
useSuggestedTasks: () => ({
|
|
data: [],
|
|
isLoading: false,
|
|
}),
|
|
}));
|
|
|
|
// Mock config hook
|
|
vi.mock("#/hooks/query/use-config", () => ({
|
|
useConfig: vi.fn(),
|
|
}));
|
|
|
|
// Mock user providers hook
|
|
vi.mock("#/hooks/use-user-providers", () => ({
|
|
useUserProviders: vi.fn(),
|
|
}));
|
|
|
|
import { useConfig } from "#/hooks/query/use-config";
|
|
import { useUserProviders } from "#/hooks/use-user-providers";
|
|
|
|
describe("TaskSuggestions empty states", () => {
|
|
beforeEach(() => {
|
|
vi.clearAllMocks();
|
|
});
|
|
|
|
it("OSS mode + no providers → shows Git provider empty state", () => {
|
|
(useConfig as any).mockReturnValue({
|
|
data: { app_mode: "oss" },
|
|
});
|
|
|
|
(useUserProviders as any).mockReturnValue({
|
|
providers: [],
|
|
});
|
|
|
|
render(
|
|
<MemoryRouter>
|
|
<TaskSuggestions />
|
|
</MemoryRouter>
|
|
);
|
|
|
|
expect(screen.getByText("TASKS$NO_GIT_PROVIDERS_TITLE")).toBeInTheDocument();
|
|
expect(screen.getByText("TASKS$NO_GIT_PROVIDERS_DESCRIPTION")).toBeInTheDocument();
|
|
expect(screen.getByText("TASKS$NO_GIT_PROVIDERS_CTA")).toBeInTheDocument();
|
|
});
|
|
|
|
it("OSS mode + providers exist but no tasks → shows no tasks message", () => {
|
|
(useConfig as any).mockReturnValue({
|
|
data: { app_mode: "oss" },
|
|
});
|
|
|
|
(useUserProviders as any).mockReturnValue({
|
|
providers: [{ id: "github" }],
|
|
});
|
|
|
|
render(
|
|
<MemoryRouter>
|
|
<TaskSuggestions />
|
|
</MemoryRouter>
|
|
);
|
|
|
|
expect(screen.getByText("TASKS$NO_TASKS_AVAILABLE")).toBeInTheDocument();
|
|
});
|
|
});
|