import React from "react";
import { screen, render, fireEvent } from "@testing-library/react";
import DiskSpaceGraph from "./DiskSpaceGraph";
describe("Disk space graph", () => {
it("renders warning tooltip for <32gB when hovering over the yellow disk space graph for darwin or windows", async () => {
render(
);
expect(screen.getByTitle("disk space indicator")).toHaveStyle("width: 10%");
expect(screen.getByTitle("disk space indicator")).toHaveClass(
"data-set__disk-space--yellow"
);
await fireEvent.mouseOver(screen.getByTitle("disk space indicator"));
const tooltip = screen.getByText(
"Not enough disk space available to install most large operating systems updates."
);
expect(tooltip).toBeInTheDocument();
});
it("renders severe warning tooltip for <16 gBwhen hovering over the red disk space graph for darwin or windows", async () => {
render(
);
expect(screen.getByTitle("disk space indicator")).toHaveStyle("width: 2%");
expect(screen.getByTitle("disk space indicator")).toHaveClass(
"data-set__disk-space--red"
);
await fireEvent.mouseOver(screen.getByTitle("disk space indicator"));
const tooltip = screen.getByText(
"Not enough disk space available to install most small operating systems updates."
);
expect(tooltip).toBeInTheDocument();
});
it("renders tooltip when hovering over the green disk space graph for darwin or windows", async () => {
render(
);
expect(screen.getByTitle("disk space indicator")).toHaveStyle("width: 15%");
expect(screen.getByTitle("disk space indicator")).toHaveClass(
"data-set__disk-space--green"
);
await fireEvent.mouseOver(screen.getByTitle("disk space indicator"));
const tooltip = screen.getByText(
"Enough disk space available to install most operating systems updates."
);
expect(tooltip).toBeInTheDocument();
});
});