public function it_outputs_too_many_attempts_error(AcceptanceTester $I) { $username = '******'; $password = '******'; for ($i = 0; $i < LoginPage::$maxLoginAttempts; $i++) { $this->userActor->makeLoginAttempt($I, $username, $password); $I->see('Login failed. Please try again.'); } $this->userActor->makeLoginAttempt($I, $username, $password); $I->see('Too many login attempts. Please try again in'); }
public function it_clears_attempts_on_successful_login(FunctionalTester $I) { $user = $this->userActor->create(); $username = $user->username; $keyAttempts = 'login:attempts:' . md5($username . '127.0.0.1'); $keyLockout = 'login:expiration:' . md5($username . '127.0.0.1'); $I->assertFalse(Cache::has($keyAttempts)); //check for records $I->assertFalse(Cache::has($keyLockout)); $this->userActor->makeLoginAttempt($I, $username, 'a'); //fail to login $I->assertTrue(Cache::has($keyAttempts)); //record should exist $this->userActor->makeLoginAttempt($I, $username, \Actors\UserActor::$_defaultPassword); //success login $I->see('Logout'); $I->assertFalse(Cache::has($keyAttempts)); //records should be deleted $I->assertFalse(Cache::has($keyLockout)); }