Files
kandev/apps/web/components/task/remote-cloud-tooltip.test.tsx
T
2026-05-04 21:11:22 +01:00

41 lines
1.3 KiB
TypeScript

import { cleanup, render, screen } from "@testing-library/react";
import { afterEach, describe, expect, it, vi } from "vitest";
import { RemoteCloudTooltip } from "./remote-cloud-tooltip";
afterEach(() => cleanup());
vi.mock("@kandev/ui/tooltip", () => ({
Tooltip: ({ children }: { children: React.ReactNode }) => <>{children}</>,
TooltipTrigger: ({ children }: { children: React.ReactNode }) => <>{children}</>,
TooltipContent: ({ children }: { children: React.ReactNode }) => <>{children}</>,
}));
describe("RemoteCloudTooltip executor icon", () => {
it("shows a container icon for Docker executors", () => {
render(
<RemoteCloudTooltip
taskId="task-1"
executorType="local_docker"
fallbackName="Docker"
status={{ remote_checked_at: new Date().toISOString() }}
/>,
);
expect(screen.getByTestId("executor-status-container-icon")).toBeTruthy();
expect(screen.queryByTestId("executor-status-cloud-icon")).toBeNull();
});
it("keeps the cloud icon for Sprites executors", () => {
render(
<RemoteCloudTooltip
taskId="task-1"
executorType="sprites"
fallbackName="Sprites.dev"
status={{ remote_checked_at: new Date().toISOString() }}
/>,
);
expect(screen.getByTestId("executor-status-cloud-icon")).toBeTruthy();
});
});