mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-04 02:04:06 +00:00
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
import { render, screen } from "@testing-library/react";
|
|
import { describe, expect, it, vi } from "vitest";
|
|
|
|
import type { ProviderBreakdownEntry } from "../_types";
|
|
|
|
import { ProviderCoverageCard } from "./provider-coverage-card";
|
|
|
|
vi.mock("@/components/icons/providers-badge/provider-type-icon", () => ({
|
|
ProviderTypeIcon: () => <span aria-hidden="true" />,
|
|
}));
|
|
|
|
const scannedProvider: ProviderBreakdownEntry = {
|
|
provider: "aws",
|
|
pass: 8,
|
|
fail: 2,
|
|
manual: 1,
|
|
total: 11,
|
|
score: 80,
|
|
unscanned: false,
|
|
};
|
|
|
|
const unscannedProvider: ProviderBreakdownEntry = {
|
|
provider: "gcp",
|
|
pass: 0,
|
|
fail: 0,
|
|
manual: 0,
|
|
total: 0,
|
|
score: 0,
|
|
unscanned: true,
|
|
};
|
|
|
|
describe("ProviderCoverageCard", () => {
|
|
it("shows only providers that have a scan", () => {
|
|
// Given / When
|
|
render(
|
|
<ProviderCoverageCard breakdown={[scannedProvider, unscannedProvider]} />,
|
|
);
|
|
|
|
// Then
|
|
expect(screen.getByTestId("coverage-row-aws")).toBeInTheDocument();
|
|
expect(screen.queryByTestId("coverage-row-gcp")).not.toBeInTheDocument();
|
|
expect(screen.queryByText("No completed scan")).not.toBeInTheDocument();
|
|
});
|
|
|
|
it("shows an empty state when no provider has a scan", () => {
|
|
// Given / When
|
|
render(<ProviderCoverageCard breakdown={[unscannedProvider]} />);
|
|
|
|
// Then
|
|
expect(
|
|
screen.getByText("No scanned providers for this framework yet."),
|
|
).toBeInTheDocument();
|
|
});
|
|
});
|