5 lines
1.9 KiB
JavaScript
5 lines
1.9 KiB
JavaScript
import fs from 'node:fs';import assert from 'node:assert/strict';import {session} from './sgf-single-http.mjs';
|
|
const checks=[];const ok=(v,n)=>{assert(v,n);checks.push(n);};const s=await session('sgf:finance_review','accounting');let r=await s.get('/api/service-fiscal');ok(r.status===200,'authorized existing fiscal reader');ok(r.headers.get('cache-control').includes('no-store'),'private no-store response');const data=await r.json();ok(data.coverage.taxes.length===7,'all seven tax/obligation areas');ok(data.coverage.automatic_knowledge_import===false&&data.coverage.legal_validation===false,'no silent transfer or validity claim');ok(data.coverage.taxes.filter(t=>t.state==='pending').length===6,'six pending engines explicit');ok(data.coverage.official_submission_enabled===false,'no official transmission');ok(Array.isArray(data.proposals)&&data.migration_pending===false,'existing proposal listing preserved');
|
|
const f=await session('sgf:finance_review','finance');r=await f.get('/api/service-fiscal');ok([403,409].includes(r.status),'wrong module refused');const denied=await session('purchasing:actor','purchasing');r=await denied.get('/api/service-fiscal');ok([403,409].includes(r.status),'purchasing actor refused');
|
|
const anonymous=await fetch('http://127.0.0.1:8085/api/service-fiscal',{redirect:'manual',headers:{Accept:'application/json'}});ok([401,302].includes(anonymous.status),'anonymous access refused');const run=JSON.parse(fs.readFileSync('C:/laragon/data/sgf-tempo/run/modular-regression-current.json'));const root=run.root+'/private/receipt-composition-cc50a276c10c';fs.writeFileSync(root+'/fiscal-coverage-metadata-20261110.json',JSON.stringify(data.coverage));const file=root+'/fiscal-coverage-http-20261110.json';fs.writeFileSync(file,JSON.stringify({passed:true,checks,business_commands:0,new_rights:0,new_demo:false},null,2));console.log(JSON.stringify({passed:true,checks:checks.length,proof:file}));
|