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 records=[]; for(const role of ['admin','warehouse','procurement']) { const viewer=client(); await viewer.enter(role); assert.equal((await viewer.request('/contexto','POST',{area:'procurement',option:'procurement.internal'})).status,302); const result=await viewer.request('/recepcoes'); assert.equal(result.status,200); const rows=result.page.props.receipts.data; assert.ok(Array.isArray(rows)); for(const row of rows.slice(0,2)) { const detail=await viewer.request('/recepcoes/'+row.id); assert.equal(detail.status,200); assert.equal(detail.page.props.documentsReady,true); assert.ok(Array.isArray(detail.page.props.documents)); assert.ok(detail.page.props.documents.every(d=>d.path===undefined)); } records.push({role,status:result.status,detailsChecked:Math.min(rows.length,2)}); } await fs.writeFile('docs/proofs/receipt-block-installation-http.json',JSON.stringify({checked_at:new Date().toISOString(),environment:base,result:'passed',records,business_commands:false,documents_uploaded:false,visual_review:false},null,2)); console.log('Recepções consultadas no piloto; sem comandos de negócio.'); `+'})()')(fs,assert);