Files
Investidor-V2/tools/portal-functional-lease-context-qa.php
T
nala 287e991486
tests / ci (push) Waiting to run
oportunidades 7
2026-10-13 11:40:29 +02:00

14 lines
1.3 KiB
PHP

<?php
// Read-only synthetic fixture inspection. It never opens the active database.
use App\Models\Opportunity;
use App\Services\OpportunityCanonicalContract;
use Illuminate\Support\Facades\DB;
$root=dirname(__DIR__);$dir=$root.'/storage/app/private/investmoz-v2/portal-audit';
$plan=json_decode(file_get_contents($dir.'/portal-stability-latest.json'),true,512,JSON_THROW_ON_ERROR);
putenv('STABILITY_QA_MODE=consumers');$app=(static fn($p)=>require $p)($plan['source'].'/tools/portal-stability-runtime.php');
$target=DB::selectOne('SELECT current_database() AS database,inet_server_port() AS port');
throw_unless($target->database==='stability_consumers_20261011_084534_test'&&(int)$target->port===55441,RuntimeException::class,'Exact QA required');
$data=DB::transaction(function(){DB::statement('SET TRANSACTION READ ONLY');$rows=[];foreach([31,54]as$id){$o=Opportunity::findOrFail($id);$rows[$id]=['canonical'=>app(App\Services\OpportunityManagement::class)->values($o)['canonical'],'state'=>$o->workflow_context['working_state']??$o->status,'owner'=>$o->owner_user_id];}return $rows;});
file_put_contents($dir.'/functional-lease-context-qa-20261011.json',json_encode($data,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_THROW_ON_ERROR));
echo json_encode(['target'=>$target,'cases'=>array_keys($data),'read_only'=>true],JSON_THROW_ON_ERROR).PHP_EOL;