Files
SGF/scripts/supplier-documents-integration-body.php
2026-11-04 09:37:20 +02:00

7 lines
1.6 KiB
PHP

<?php
if(!($s['supplierDocuments']??false))throw new LogicException('New document fixture required');$id=$n['supplier_ids'][0];$url='/api/purchasing-suppliers/'.$id;$docs=$url.'/documents';$bytes=base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Wl6pAoAAAAASUVORK5CYII=').str_repeat("\0",2048);file_put_contents($s['root'].'/qa-document.png',$bytes);$enter('actor',1);
$send=function($role,$path,$fields=[],$content=null,$filename='qa-document.png',$i=0)use($clients,$options,$bytes){$parts=[];foreach($fields as$name=>$value)$parts[]=['name'=>$name,'contents'=>(string)$value];$parts[]=['name'=>'file','contents'=>$content??$bytes,'filename'=>$filename];$r=$clients[$i]->post($path,$options($role,$i)+['multipart'=>$parts]);$text=(string)$r->getBody();return ['status'=>$r->getStatusCode(),'data'=>json_decode($text,true),'body'=>$text];};
$preview=function($key=null,$content=null,$filename='qa-document.png',$i=0,$type='license')use($send,$call,$url,$docs){$r=$call('actor',$url,null,$i);return $send('actor',$docs.'/preview',['operation_key'=>$key??(string)Str::uuid(),'revision'=>$r['data']['revision'],'document_type'=>$type,'reason'=>'Anexo sintetico para conferencia documental distinta.'],$content,$filename,$i);};$confirm=fn($cut,$content=null,$filename='qa-document.png',$i=0)=>$send('actor',$docs.'/confirm',['preview'=>$cut],$content,$filename,$i);
$countFiles=function($dir){if(!is_dir($dir))return 0;$count=0;foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir,FilesystemIterator::SKIP_DOTS))as$file)if($file->isFile())$count++;return $count;};
require __DIR__.'/supplier-documents-integration-checks.php';