Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | /**
* DOM testing utilities for CIA Compliance Manager.
*
* @packageDocumentation
*/
import { vi } from "vitest";
/**
* Sets up mocks for DOM APIs that might be needed in tests
*/
export function mockDOMAPIs() {
// Mock ResizeObserver
globalThis.ResizeObserver = vi.fn().mockImplementation(() => ({
observe: vi.fn(),
unobserve: vi.fn(),
disconnect: vi.fn(),
}));
// Mock localStorage
const mockLocalStorage = (() => {
let store: Record<string, string> = {};
return {
getItem: (key: string) => store[key] || null,
setItem: (key: string, value: string) => {
store[key] = value.toString();
},
removeItem: (key: string) => {
delete store[key];
},
clear: () => {
store = {};
},
};
})();
Object.defineProperty(window, "localStorage", {
value: mockLocalStorage,
});
}
/**
* Checks if an element has a security level class
* @param element Element to check
* @param level Security level to check for
* @returns True if the element has the class
*/
export function checkSecurityLevelColor(
element: Element,
level: "none" | "low" | "moderate" | "high" | "very-high"
): boolean {
return element.classList.contains(`security-level-${level}`);
}
|