// @vitest-environment jsdom
import { screen } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
import { renderWithProviders } from "test-utils/render-with-providers";
vi.mock("./metrics/info", () => ({ default: () =>
glances-info
}));
vi.mock("./metrics/memory", () => ({ default: () => glances-memory
}));
vi.mock("./metrics/process", () => ({ default: () => glances-process
}));
vi.mock("./metrics/containers", () => ({ default: () => glances-containers
}));
vi.mock("./metrics/cpu", () => ({ default: () => glances-cpu
}));
vi.mock("./metrics/net", () => ({ default: () => glances-net
}));
vi.mock("./metrics/sensor", () => ({ default: () => glances-sensor
}));
vi.mock("./metrics/disk", () => ({ default: () => glances-disk
}));
vi.mock("./metrics/gpu", () => ({ default: () => glances-gpu
}));
vi.mock("./metrics/fs", () => ({ default: () => glances-fs
}));
import Component from "./component";
describe("widgets/glances/component", () => {
it("routes metric=info to Info", () => {
renderWithProviders(, {
settings: { hideErrors: false },
});
expect(screen.getByText("glances-info")).toBeInTheDocument();
});
it("routes metric=cpu to Cpu", () => {
renderWithProviders(, {
settings: { hideErrors: false },
});
expect(screen.getByText("glances-cpu")).toBeInTheDocument();
});
it("routes metric patterns (network:, sensor:, disk:, gpu:, fs:) to their modules", () => {
const { rerender } = renderWithProviders(
,
{
settings: { hideErrors: false },
},
);
expect(screen.getByText("glances-net")).toBeInTheDocument();
rerender();
expect(screen.getByText("glances-sensor")).toBeInTheDocument();
rerender();
expect(screen.getByText("glances-disk")).toBeInTheDocument();
rerender();
expect(screen.getByText("glances-gpu")).toBeInTheDocument();
rerender();
expect(screen.getByText("glances-fs")).toBeInTheDocument();
});
});