diff --git a/src/renderer/components/metric-bar/metric-bar.test.tsx b/src/renderer/components/metric-bar/metric-bar.test.tsx new file mode 100644 index 0000000000..723765c84a --- /dev/null +++ b/src/renderer/components/metric-bar/metric-bar.test.tsx @@ -0,0 +1,42 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ + +import React from "react"; +import { render } from "@testing-library/react"; +import "@testing-library/jest-dom/extend-expect"; +import { MetricBar } from "."; + +describe("", () => { + it("renders w/o errors", async () => { + + const { container } = render(); + + expect(container.querySelector("[data-testid='metric-bar']")).toBeInTheDocument(); + }); + + it("shows percent values", () => { + const { getByText } = render(); + + expect(getByText("37.13%")).toBeInTheDocument(); + }); + + it("doesn't show percent values if no 'showPercent' flag set", () => { + const { queryByText } = render(); + + expect(queryByText("15%")).not.toBeInTheDocument(); + }); + + it("adds 'warning' class to line", () => { + const { container } = render(); + + expect(container.querySelector("[data-testid='vertical-bar'] > div")).toHaveClass("warning"); + }); + + it("does not adds 'warning' class if 'changeColorOnWarning' not set", () => { + const { container } = render(); + + expect(container.querySelector("[data-testid='vertical-bar'] > div")).not.toHaveClass("warning"); + }); +});