14 lines
1.6 KiB
JavaScript
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);
|