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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 1x | /**
* Security-specific test utilities for CIA Compliance Manager.
*
* @packageDocumentation
*/
import { vi } from "vitest";
import { SecurityLevel } from "../../types/cia";
import { TEST_CIA_OPTIONS } from "../testUtils/testData";
/**
* Creates mock security level state with standard values
*/
export function createMockSecurityLevelState() {
return {
availabilityLevel: "Moderate" as SecurityLevel,
integrityLevel: "Moderate" as SecurityLevel,
confidentialityLevel: "Moderate" as SecurityLevel,
setAvailabilityLevel: vi.fn(),
setIntegrityLevel: vi.fn(),
setConfidentialityLevel: vi.fn(),
};
}
/**
* Standard test data for security levels
*/
export const TEST_SECURITY_LEVELS: SecurityLevel[] = [
"None",
"Low",
"Moderate",
"High",
"Very High",
];
/**
* Converts a string value to SecurityLevel type
* @param level String value to convert
* @returns The value as a SecurityLevel type
*/
export function toSecurityLevel(level: string): SecurityLevel {
return level as SecurityLevel;
}
/**
* Gets the numerical value for a security level
* @param level Security level to convert
* @returns Number from 0-4 representing the level
*/
export function getSecurityLevelValue(level: SecurityLevel): number {
const values: Record<SecurityLevel, number> = {
None: 0,
Low: 1,
Moderate: 2,
High: 3,
"Very High": 4,
};
return values[level] || 0;
}
/**
* Creates test props with set security levels
* @param availabilityLevel Availability level
* @param integrityLevel Integrity level
* @param confidentialityLevel Confidentiality level
* @returns Props object with set security levels
*/
export function createSecurityLevelProps(
availabilityLevel: SecurityLevel = "Moderate",
integrityLevel: SecurityLevel = "Moderate",
confidentialityLevel: SecurityLevel = "Moderate"
) {
return {
availabilityLevel,
integrityLevel,
confidentialityLevel,
setAvailabilityLevel: vi.fn(),
setIntegrityLevel: vi.fn(),
setConfidentialityLevel: vi.fn(),
};
}
// Re-export CIA test options for convenience
export { TEST_CIA_OPTIONS };
|