setUser($u);$r=Illuminate\Http\Request::create('/api/service-documents/preview','POST');$r->attributes->set('sgf_module','commercial');$r->setUserResolver(fn()=>$u);$session=app('session')->driver();$session->start();$session->put('company_context',$f['scope']+['module_id'=>'commercial','token'=>'closed-documents-proof']);$r->setLaravelSession($session);$app->instance('request',$r);app(App\Shared\Context\CompanyContext::class)->selectFor($u->id,1,2,2); config(['service_documents.enabled'=>true,'service_documents.invoice_receipt_enabled'=>true,'service_documents.inputs_sha256'=>hash_file('sha256',$s['root'].'/single-document-inputs.json')]);$output=$host->table('sd_outputs')->where('kind','credit_note')->firstOrFail();$bad=false;try{app(App\Modules\Services\ServiceDocuments::class)->preview($u->id,['kind'=>'credit_note','action'=>'cancel_review','document_key'=>$output->document_key,'version'=>3,'data'=>[],'reason'=>'Recusar anulação em período QA efectivamente fechado dentro da prova.'],(string)Illuminate\Support\Str::uuid());}catch(Symfony\Component\HttpKernel\Exception\HttpExceptionInterface $e){$bad=$e->getStatusCode()===409&&str_contains($e->getMessage(),'período QA aberto');}$ok($bad,'document cancellation refuses an actually closed QA period without reopening');