mirror of
https://github.com/Buriburizaem0n/nezha-dash-v1.git
synced 2026-09-21 10:40:14 +00:00
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.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
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",
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user