/home/techb158/balavpn.abdallabala.com/tests
NameSizeModeActions
idempotency.test.js17130644editdlrm
integration-service.test.js23340644editdlrm
live-pm-clients.test.js38860644editdlrm
local-server.test.js56850644editdlrm
metrics.test.js16910644editdlrm
oidc.test.js23670644editdlrm
rate-limit.test.js14140644editdlrm
saas-domain.test.js31370644editdlrm
tenant-security.test.js11840644editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/tests/saas-domain.test.js (3137B)
const assert = require("assert"); const { scoreRisk, calculateDashboard, evaluateGate } = require("../src/domain/risk-engine"); const { hasPermission, resolvePermissions } = require("../src/domain/permissions"); const { buildEntitlements, assertWithinLimit } = require("../src/domain/entitlements"); const { listSupportedProviders, riskStatusToExternalStatus } = require("../src/domain/integrations"); const scored = scoreRisk({ probability: 5, impact: 5, detectability: 5, mitigationProgress: 50, mitigationEffectiveness: 50, status: "OPEN" }); assert.strictEqual(scored.rawScore, 125); assert.strictEqual(scored.normalizedScore, 100); assert.strictEqual(scored.residualScore, 75); assert.strictEqual(scored.residualSeverity, "Critical"); assert.ok(hasPermission("owner", "billing:manage")); assert.ok(hasPermission(resolvePermissions("viewer"), "project:read")); assert.strictEqual(hasPermission("viewer", "risk:write"), false); const entitlements = buildEntitlements({ status: "ACTIVE", source: "MANUAL", planCode: "starter", userLimit: 5, projectLimit: 3, reportLimitMonthly: 25, integrationLimit: 1, storageMbLimit: 512, adminOverride: false }, { status: "ACTIVE", planCode: "starter" }); assert.strictEqual(entitlements.active, true); assert.doesNotThrow(() => assertWithinLimit(entitlements, "projects", 2, 1)); assert.throws(() => assertWithinLimit(entitlements, "projects", 3, 1), /Plan limit exceeded/); const providers = listSupportedProviders(); assert.strictEqual(providers.length, 4); assert.strictEqual(riskStatusToExternalStatus("MICROSOFT_PLANNER", { status: "OPEN", residualScore: 80 }), "Blocked bucket"); const project = { id: "project-1", name: "Demo", thresholds: { overallRiskMax: 50, criticalOpenMax: 0, mitigationCompletionMin: 60, dataReadinessMin: 70, selectedModelF1Min: 0.8, selectedModelStabilityMin: 75 }, reviews: { dataReadiness: { score: 80, evidence: "Approved lineage." }, ethicalReview: { status: "Approved", evidence: "Approved." }, legalReview: { status: "Approved", evidence: "Approved." } }, lifecyclePhases: [{ name: "Testing", readinessScore: 80, sequence: 1 }], risks: [ { id: "risk-1", title: "Critical AI risk", dimension: "Technical", lifecyclePhase: "Testing", probability: 5, impact: 5, detectability: 5, status: "IN_MITIGATION", approvalStatus: "PENDING", mitigations: [{ progressPercent: 20, effectivenessPercent: 50 }] } ], experiments: [ { name: "Model A", selected: true, metrics: [ { metricName: "f1", metricValue: 0.85 }, { metricName: "stability", metricValue: 80 } ] } ] }; const dashboard = calculateDashboard(project); assert.strictEqual(dashboard.summary.totalRisks, 1); assert.strictEqual(dashboard.gate.status, "BLOCKED"); assert.ok(evaluateGate(project, dashboard.scoredRisks, project.experiments, dashboard.summary.overallScore, dashboard.summary.mitigationCompletion).blockedCount > 0); console.log("All COSMIC SaaS domain tests passed.");