never(); } public function test_export_reuses_the_existing_case_authorisation_before_reading_any_data(): void { $actor = new User; $actor->id = 9; $id = 'aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa'; $request = Request::create('/balcao-virtual/dossiers/'.$id.'/pre-dossier'); $request->setUserResolver(fn () => $actor); $desk = Mockery::mock(VirtualDesk::class); $desk->shouldReceive('case')->once()->with($actor, $id)->andThrow(new HttpException(403)); $this->expectException(HttpException::class); app(VirtualDeskController::class)->preDossier($request, $id, $desk); } public function test_preparation_document_escapes_declared_data_and_preserves_unknowns_and_internal_status(): void { $html = view('desk.pre-dossier', [ 'case' => ['id' => 'qa-case', 'title' => '', 'version' => 3, 'closed_at' => null, 'payload' => ['profile' => ['name' => ''], 'investment' => ['amount' => null]], 'simulation_id' => 'qa-existing-simulation'], 'requests' => collect([(object) ['protocol' => null, 'status' => 'draft', 'version' => 1]]), 'documents' => collect([(object) ['file_name' => '', 'category' => 'licença declarada']]), 'states' => ['draft' => 'Rascunho'], ])->render(); $this->assertStringNotContainsString('