8 lines
1.9 KiB
PHP
8 lines
1.9 KiB
PHP
<?php
|
|
$checks=json_decode(file_get_contents($s['root'].'/integrated-progress.json'),true);if(count($checks)!==26)throw new LogicException('Expected26 valid recorded stages');
|
|
$baseline=json_decode(file_get_contents($s['root'].'/integrated-baseline.json'),true);if(!$baseline['passed']||$db->table('pa_obligations')->count()!==1)throw new LogicException('Recorded integrated path required');
|
|
$request=(int)$db->table('requisitions')->where('tenant_id',$n['tenant'])->value('id');$award=(int)$db->table('purchase_awards')->value('id');$order=['id'=>(int)$db->table('purchase_orders')->value('id')];$invoice=(int)$db->table('invoices')->value('id');$url='/api/purchasing-obligations/'.$invoice;$iv='/api/purchasing-invoices/orders/'.$order['id'];$r=$call('issuer',$url);$position=$r['data']['obligations'][0];
|
|
$enter('issuer',1,['module'=>'commercial']);$ok($call('issuer',$url,null,1)['status']===409&&$call('issuer','/purchasing/workspace',null,1)['status']===409,'module boundary remains enforced on hub and final responsibility');$enter('issuer',1,['foreign'=>1]);$ok($call('issuer',$url,null,1)['status']===403,'unmapped unit cannot inspect integrated responsibility');
|
|
$ok($call('validator',$url)['status']===403&&$call('requester',$iv)['status']===403,'stage roles do not gain economic rights through shared navigation');
|
|
file_put_contents($out,json_encode(['passed'=>true,'checks'=>$checks,'same_context_whole_purchasing_path'=>true,'source_ids'=>['request'=>$request,'award'=>$award,'order'=>$order['id'],'invoice'=>$invoice,'obligation'=>$position['id']],'quotes'=>3,'evaluations'=>6,'principal_minor'=>10000,'native_consumption_minor'=>10000,'host_budget_unchanged'=>true,'new_right_names'=>[],'automatic_geography_assignments'=>0,'payments_created'=>0,'ledger_posted'=>false,'visual_review'=>false,'deployment_capacity_validated'=>false],JSON_PRETTY_PRINT|JSON_THROW_ON_ERROR));echo count($checks)." integrated purchasing checks passed.\n";
|