Вход Регистрация
Файл: vendor/laravel/ui/tests/AuthBackend/ThrottleLoginsTest.php
Строк: 36
<?php

namespace LaravelUiTestsAuthBackend;

use 
IlluminateFoundationAuthThrottlesLogins;
use 
OrchestraTestbenchTestCase;
use 
IlluminateHttpRequest;
use 
PHPUnitFrameworkMockObjectMockObject;

class 
ThrottleLoginsTest extends TestCase
{
    
/**
     * @test
     * @dataProvider emailProvider
     */
    
public function it_can_generate_throttle_key(string $emailstring $expectedEmail): void
    
{
        
$throttle $this->getMockForTrait(ThrottlesLogins::class, [], ''truetruetrue, ['username']);
        
$throttle->method('username')->willReturn('email');
        
$reflection = new ReflectionClass($throttle);
        
$method $reflection->getMethod('throttleKey');
        
$method->setAccessible(true);

        
$request $this->mock(Request::class);
        
$request->expects('input')->with('email')->andReturn($email);
        
$request->expects('ip')->andReturn('192.168.0.1');

        
$this->assertSame($expectedEmail '|192.168.0.1'$method->invoke($throttle$request));
    }

    public function 
emailProvider(): array
    {
        return [
            
'lowercase special characters' => ['ⓣⓔⓢⓣ@ⓛⓐⓡⓐⓥⓔⓛ.ⓒⓞⓜ''test@laravel.com'],
            
'uppercase special characters' => ['ⓉⒺⓈⓉ@ⓁⒶⓇⒶⓋⒺⓁ.ⒸⓄⓂ''test@laravel.com'],
            
'special character numbers' =>['test⑩⓸③@laravel.com''test1043@laravel.com'],
            
'default email' => ['test@laravel.com''test@laravel.com'],
        ];
    }
}
Онлайн: 4
Реклама