Files
nezha-dash-v1/src/test/lib/logo-class.test.tsx
T
hamster1963 5720af9108 test: add unit tests for various components and utilities
- Created tests for formatBytes function to ensure correct formatting of byte values.
- Implemented tests for InjectContext to validate resource injection and cleanup.
- Added tests for logo-class helpers to verify platform alias mappings.
- Developed tests for nezha-api functions to check API response handling.
- Introduced tests for static geographic data to validate country coordinates and GeoJSON structure.
- Created comprehensive tests for utility functions including date formatting and public note parsing.
- Added tests for Server page to ensure correct rendering and functionality.
- Implemented tests for simple pages including error handling and navigation.
- Set up testing environment with Vitest and configured coverage reporting.
2026-06-15 11:29:48 +08:00

40 lines
1.3 KiB
TypeScript

import { render, screen } from "@testing-library/react";
import { describe, expect, it } from "vitest";
import {
GetFontLogoClass,
GetOsName,
MageMicrosoftWindows,
} from "@/lib/logo-class";
describe("logo-class helpers", () => {
it("maps known platform aliases to font logo classes", () => {
expect(GetFontLogoClass("ubuntu")).toBe("ubuntu");
expect(GetFontLogoClass("darwin")).toBe("apple");
expect(GetFontLogoClass("linux")).toBe("tux");
expect(GetFontLogoClass("amazon")).toBe("redhat");
expect(GetFontLogoClass("arch")).toBe("archlinux");
expect(GetFontLogoClass("opensuse-tumbleweed")).toBe("opensuse");
expect(GetFontLogoClass("unknown")).toBe("tux");
});
it("maps platform aliases to readable operating system names", () => {
expect(GetOsName("ubuntu")).toBe("Ubuntu");
expect(GetOsName("darwin")).toBe("macOS");
expect(GetOsName("linux")).toBe("Linux");
expect(GetOsName("amazon")).toBe("Redhat");
expect(GetOsName("arch")).toBe("Archlinux");
expect(GetOsName("opensuse-tumbleweed")).toBe("Opensuse");
expect(GetOsName("unknown")).toBe("Linux");
});
it("renders the Windows SVG icon", () => {
render(<MageMicrosoftWindows data-testid="windows-icon" />);
expect(screen.getByTestId("windows-icon")).toHaveAttribute(
"viewBox",
"0 0 24 24",
);
});
});