getByName($routeName); $request = Request::create('/' . $route->uri(), 'POST', ['email' => 'a@example.com'], [], [], ['REMOTE_ADDR' => '9.9.9.9']); $request->setRouteResolver(fn () => $route); return RateLimiter::limiter('client-auth')($request); } public function test_email_sending_routes_are_limited_per_ip_across_emails(): void { foreach (['api.client.register' => 5, 'api.client.resend-verify' => 10] as $name => $max) { $limits = $this->limitsFor($name); $this->assertCount(2, $limits); $this->assertSame($name . '|ip|9.9.9.9', $limits[1]->key); $this->assertSame($max, $limits[1]->maxAttempts); } } public function test_other_auth_routes_keep_single_email_limit(): void { $this->assertInstanceOf(\Illuminate\Cache\RateLimiting\Limit::class, $this->limitsFor('api.client.login')); } }