import { resolve } from "node:path";
import { describe, expect, it } from "vitest";
import { render } from "@testing-library/preact";
import { snapshotFixtures } from "../../test/snapshot.js";
import { snapshotStylesheet } from "../../test/stylesheet.js";
import { Progress } from "./Progress.js";
import { fixtures } from "./Progress.fixtures.js";
describe("Progress", () => {
it("is a progressbar named by label that reads valueText in place of the percentage", () => {
const { getByRole } = render();
const bar = getByRole("progressbar", { name: "Upload" });
expect(bar).toHaveAttribute("aria-valuenow", "30");
expect(bar).toHaveAttribute("aria-valuetext", "3 of 10 files");
});
it("omits aria-valuenow while indeterminate", () => {
const { getByRole } = render();
expect(getByRole("progressbar")).not.toHaveAttribute("aria-valuenow");
});
});
snapshotFixtures(Progress, fixtures);
snapshotStylesheet(resolve(__dirname, "./Progress.css"));