/** * Apply config filters * * @param RequestCollection $passwordResetRequestEventCollection * @param int $securityEventType * @param string $accountReference * @param int $longIp * @return RequestCollection */ protected function applyFiltersByConfig(RequestCollection $passwordResetRequestEventCollection, $securityEventType, $accountReference, $longIp) { $limitMethod = $this->securityConfig->getLimitPasswordResetRequestsMethod($this->getScopeByEventType($securityEventType)); switch ($limitMethod) { case ResetMethod::OPTION_BY_EMAIL: $passwordResetRequestEventCollection->filterByAccountReference($accountReference); break; case ResetMethod::OPTION_BY_IP: $passwordResetRequestEventCollection->filterByIp($longIp); break; case ResetMethod::OPTION_BY_IP_AND_EMAIL: $passwordResetRequestEventCollection->filterByIpOrAccountReference($longIp, $accountReference); break; } return $passwordResetRequestEventCollection; }
/** * @return void */ public function testFilterByAccountReference() { $reference = '12345'; $this->collectionMock->expects($this->once())->method('addFieldToFilter')->with('account_reference', $reference)->willReturnSelf(); $this->assertEquals($this->collectionMock, $this->collectionMock->filterByAccountReference($reference)); }
/** * filterByAccountReference() test * * @magentoDataFixture Magento/Security/_files/password_reset_request_events.php */ public function testFilterByAccountReference() { $this->collectionModel->filterByAccountReference('*****@*****.**')->load(); $this->assertEquals(1, $this->collectionModel->getSize()); }