mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
## 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>
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import React from "react";
|
|
import { render, screen, waitFor } from "@testing-library/react";
|
|
import { renderWithSetup } from "test/test-utils";
|
|
|
|
import LastUpdatedHostCount from ".";
|
|
|
|
describe("Last updated host count", () => {
|
|
it("renders host count and updated text", () => {
|
|
const currentDate = new Date();
|
|
currentDate.setDate(currentDate.getDate() - 2);
|
|
const twoDaysAgo = currentDate.toISOString();
|
|
|
|
render(<LastUpdatedHostCount hostCount={40} lastUpdatedAt={twoDaysAgo} />);
|
|
|
|
const hostCount = screen.getByText(/40/i);
|
|
const updateText = screen.getByText("Updated 2 days ago");
|
|
|
|
expect(hostCount).toBeInTheDocument();
|
|
expect(updateText).toBeInTheDocument();
|
|
});
|
|
|
|
it("renders 'Updated never' if lastUpdatedAt is explicitly null", () => {
|
|
render(<LastUpdatedHostCount lastUpdatedAt={null} />);
|
|
expect(screen.getByText("Updated never")).toBeInTheDocument();
|
|
});
|
|
|
|
it("does not render updated text if lastUpdatedAt is undefined", () => {
|
|
render(<LastUpdatedHostCount />);
|
|
expect(screen.queryByText(/Updated/i)).not.toBeInTheDocument();
|
|
});
|
|
|
|
it("renders tooltip on hover when 'Updated never'", async () => {
|
|
const { user } = renderWithSetup(
|
|
<LastUpdatedHostCount hostCount={0} lastUpdatedAt={null} />
|
|
);
|
|
await user.hover(screen.getByText("Updated never"));
|
|
await waitFor(() => {
|
|
expect(
|
|
screen.getByText(/last time host data was updated/i)
|
|
).toBeInTheDocument();
|
|
});
|
|
});
|
|
});
|