2022-12-07 17:59:38 +00:00
|
|
|
import React from "react";
|
2025-09-18 16:42:30 +00:00
|
|
|
import { render, screen, waitFor } from "@testing-library/react";
|
|
|
|
|
import { renderWithSetup } from "test/test-utils";
|
2022-12-07 17:59:38 +00:00
|
|
|
|
2023-05-03 16:51:33 +00:00
|
|
|
import LastUpdatedText from ".";
|
2022-12-07 17:59:38 +00:00
|
|
|
|
|
|
|
|
describe("Last updated text", () => {
|
|
|
|
|
it("renders updated text", () => {
|
|
|
|
|
const currentDate = new Date();
|
|
|
|
|
currentDate.setDate(currentDate.getDate() - 2);
|
|
|
|
|
const twoDaysAgo = currentDate.toISOString();
|
|
|
|
|
|
|
|
|
|
render(
|
|
|
|
|
<LastUpdatedText whatToRetrieve="software" lastUpdatedAt={twoDaysAgo} />
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
const text = screen.getByText("Updated 2 days ago");
|
|
|
|
|
|
|
|
|
|
expect(text).toBeInTheDocument();
|
|
|
|
|
});
|
|
|
|
|
it("renders never if missing timestamp", () => {
|
|
|
|
|
render(<LastUpdatedText whatToRetrieve="software" />);
|
|
|
|
|
|
|
|
|
|
const text = screen.getByText("Updated never");
|
|
|
|
|
|
|
|
|
|
expect(text).toBeInTheDocument();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("renders tooltip on hover", async () => {
|
2025-09-18 16:42:30 +00:00
|
|
|
const { user } = renderWithSetup(
|
|
|
|
|
<LastUpdatedText whatToRetrieve="software" />
|
|
|
|
|
);
|
2022-12-07 17:59:38 +00:00
|
|
|
|
2025-09-18 16:42:30 +00:00
|
|
|
const updatedNeverText = screen.getByText("Updated never");
|
|
|
|
|
await user.hover(updatedNeverText);
|
2022-12-07 17:59:38 +00:00
|
|
|
|
2025-09-18 16:42:30 +00:00
|
|
|
await waitFor(() => {
|
|
|
|
|
expect(screen.getByText(/to retrieve software/i)).toBeInTheDocument();
|
|
|
|
|
});
|
2022-12-07 17:59:38 +00:00
|
|
|
});
|
|
|
|
|
});
|