Files
compras/scripts/warehouse-pilot-readiness-http.mjs
T
2026-11-02 20:27:11 +02:00

14 lines
1.6 KiB
JavaScript

import fs from 'node:fs/promises';
import assert from 'node:assert/strict';
const source=await fs.readFile('scripts/supplier-evaluation-check.mjs','utf8');
const common=source.slice(source.indexOf('const base ='),source.indexOf('const author ='));
await new Function('fs','assert','return (async()=>{'+common+`
const viewer=client();await viewer.enter('admin');
const dashboard=await viewer.request('/dashboard');
if(dashboard.page?.props.context?.enforced)await viewer.request('/contexto','POST',{area:'procurement',option:'procurement.internal'});
const response=await viewer.request('/stock/piloto');assert.equal(response.status,200);assert.equal(response.page.component,'stock/pilot');
const p=response.page.props;assert.equal(p.syntheticEvaluation,true);assert.ok(p.report.checks.length>=6);assert.ok(Array.isArray(p.report.registered));assert.ok(Array.isArray(p.report.participants.prepare));assert.equal(typeof p.report.warehouse_scenario_ready,'boolean');
await fs.writeFile('docs/proofs/warehouse-pilot-readiness-http.json',JSON.stringify({checked_at:new Date().toISOString(),environment:base,component:'stock/pilot',synthetic_evaluation:true,registered_count:p.report.registered.length,warehouse_scenario_ready:p.report.warehouse_scenario_ready,replenishment_scenario_ready:p.report.replenishment_scenario_ready,client_configuration_complete:p.report.client_configuration_complete,checks:p.report.checks.map(c=>({key:c.key,ok:c.ok})),accounts_or_grants_changed:false,business_commands:false,visual_browser_review:false},null,2));
console.log('Diagnóstico do piloto conferido por HTTP sem alterar configurações ou executar compras.');
`+'})()')(fs,assert);