toArray(Request::create('/test', 'GET')); $this->assertArrayHasKey('max_attempts', $array); $this->assertSame(12, $array['max_attempts']); } public function test_resource_exposes_zero_for_unlimited_attempts(): void { // popup/SDK 형 provider (이니시스 등) — max_attempts=0 (무제한) 케이스 $challenge = new VerificationChallenge( id: 'uuid-2', providerId: 'inicis', purpose: 'signup', channel: 'ipin', targetHash: hash('sha256', 'a@b.com'), expiresAt: Carbon::now(), renderHint: 'text_code', ); $resource = new ChallengeResource($challenge); $array = $resource->toArray(Request::create('/test', 'GET')); $this->assertArrayHasKey('max_attempts', $array); $this->assertSame(0, $array['max_attempts']); } }