fleet/frontend/components/StatusIndicator/StatusIndicator.tests.tsx
jacobshandling 06c48216f7
UI: Add Tooltip show delay across app (#33091)
## For #31869

- Add fine grain controls for tooltip show and hide delay behavior
- Default to 250ms show delay across app
- Update ~30 unit tests to expect new delay
- See
[note](https://github.com/fleetdm/fleet/issues/31869#issuecomment-3300660487)


https://github.com/user-attachments/assets/5969e0f7-c137-491f-8430-6f21d01b9350

- [x] Changes file added for user-visible changes in `changes/`
- [x] QA'd all new/changed functionality manually

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-09-18 09:42:30 -07:00

26 lines
809 B
TypeScript

import React from "react";
import { render, screen, waitFor } from "@testing-library/react";
import { renderWithSetup } from "test/test-utils";
import StatusIndicator from "./StatusIndicator";
describe("Status indicator", () => {
it("renders status as capitalized", () => {
render(<StatusIndicator value="paused" />);
expect(screen.getByText("Paused")).toBeInTheDocument();
});
it("renders optional tooltip on hover", async () => {
const TOOLTIP_TEXT = "Online hosts will respond to a live query.";
const { user } = renderWithSetup(
<StatusIndicator value="online" tooltip={{ tooltipText: TOOLTIP_TEXT }} />
);
await user.hover(screen.getByText("Online"));
await waitFor(() => {
expect(screen.getByText(TOOLTIP_TEXT)).toBeInTheDocument();
});
});
});