create(['tenant_id' => $f['tenant']->id, 'purchasing_role' => PurchasingRole::Admin]); $buyer = User::factory()->create(['tenant_id' => $f['tenant']->id, 'purchasing_role' => PurchasingRole::Procurement]); auth()->guard()->setUser($f['issuer']); $set = app(DocumentaryQualificationWorkflow::class)->define($f['issuer'], $f['r'], $f['definition']); $assessment = $f['assessment']; $assessment['answers'][1] = ['criterion_id' => 2, 'result' => 'met', 'evidence' => 'Referência fictícia 2', 'reason' => 'Conformidade conferida em teste isolado']; auth()->guard()->setUser($f['analyst']); $record = app(DocumentaryQualificationWorkflow::class)->assess($f['analyst'], $set, $assessment); $workflow = app(FormalAdmission::class); $policyData = ['previous_id' => 0, 'enabled' => true, 'roles' => ['finance'], 'required_count' => $quorum, 'reason' => 'Configuração exclusivamente fictícia']; auth()->guard()->setUser($admin); $policy = $workflow->policy($admin, $policyData); auth()->guard()->setUser($buyer); $adoption = $workflow->adopt($buyer, $f['r'], $policy->id, 0, 'Adopção exclusivamente fictícia'); $proposal = ['quotation_id' => $f['quote']->id, 'previous_id' => 0, 'basis_hash' => $workflow->basis($f['r'], $f['quote']->id)['hash'], 'outcome' => 'admit', 'reason' => 'Proposta exclusivamente fictícia']; return [...$f, 'admin' => $admin, 'buyer' => $buyer, 'set' => $set, 'record' => $record, 'assessment' => $assessment, 'policy' => $policy, 'policy_data' => $policyData, 'adoption' => $adoption, 'proposal' => $proposal]; }