Skip to content

Commit 6280e61

Browse files
ENGCOM-6835: Unit test for \Magento\Captcha\Observer\ResetAttemptForBackendObserver and ResetAttemptForFrontendObserver #26715
- Merge Pull Request #26715 from karyna-tsymbal-atwix/magento2:unit-test-captcha-observers-reset-attempt-for-backend-and-frontend - Merged commits: 1. 10363f5 2. ea00720
2 parents 6df825a + ea00720 commit 6280e61

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magento\Captcha\Test\Unit\Observer;
10+
11+
use Magento\Captcha\Model\ResourceModel\Log;
12+
use Magento\Captcha\Model\ResourceModel\LogFactory;
13+
use Magento\Captcha\Observer\ResetAttemptForBackendObserver;
14+
use Magento\Framework\Event;
15+
use Magento\Framework\Event\Observer;
16+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
17+
use PHPUnit\Framework\MockObject\MockObject;
18+
use PHPUnit\Framework\TestCase;
19+
20+
/**
21+
* Unit test for \Magento\Captcha\Observer\ResetAttemptForBackendObserver
22+
*/
23+
class ResetAttemptForBackendObserverTest extends TestCase
24+
{
25+
/**
26+
* Test that the method resets attempts for Backend
27+
*/
28+
public function testExecuteExpectsDeleteUserAttemptsCalled()
29+
{
30+
$logMock = $this->createMock(Log::class);
31+
$logMock->expects($this->once())->method('deleteUserAttempts')->willReturnSelf();
32+
33+
$resLogFactoryMock = $this->createMock(LogFactory::class);
34+
$resLogFactoryMock->expects($this->once())
35+
->method('create')
36+
->willReturn($logMock);
37+
38+
/** @var MockObject|Observer $eventObserverMock */
39+
$eventObserverMock = $this->createPartialMock(Observer::class, ['getUser']);
40+
$eventMock = $this->createMock(Event::class);
41+
$eventObserverMock->expects($this->once())
42+
->method('getUser')
43+
->willReturn($eventMock);
44+
45+
$objectManager = new ObjectManagerHelper($this);
46+
/** @var ResetAttemptForBackendObserver $observer */
47+
$observer = $objectManager->getObject(
48+
ResetAttemptForBackendObserver::class,
49+
['resLogFactory' => $resLogFactoryMock]
50+
);
51+
$this->assertInstanceOf(Log::class, $observer->execute($eventObserverMock));
52+
}
53+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magento\Captcha\Test\Unit\Observer;
10+
11+
use Magento\Captcha\Model\ResourceModel\Log;
12+
use Magento\Captcha\Model\ResourceModel\LogFactory;
13+
use Magento\Captcha\Observer\ResetAttemptForFrontendObserver;
14+
use Magento\Customer\Model\Customer;
15+
use Magento\Framework\Event\Observer;
16+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
17+
use PHPUnit\Framework\MockObject\MockObject;
18+
use PHPUnit\Framework\TestCase;
19+
20+
/**
21+
* Unit test for \Magento\Captcha\Observer\ResetAttemptForFrontendObserver
22+
*/
23+
class ResetAttemptForFrontendObserverTest extends TestCase
24+
{
25+
/**
26+
* Test that the method resets attempts for Frontend
27+
*/
28+
public function testExecuteExpectsDeleteUserAttemptsCalled()
29+
{
30+
$logMock = $this->createMock(Log::class);
31+
$logMock->expects($this->once())->method('deleteUserAttempts')->willReturnSelf();
32+
33+
$resLogFactoryMock = $this->createMock(LogFactory::class);
34+
$resLogFactoryMock->expects($this->once())
35+
->method('create')
36+
->willReturn($logMock);
37+
38+
/** @var MockObject|Observer $eventObserverMock */
39+
$eventObserverMock = $this->createPartialMock(Observer::class, ['getModel']);
40+
$eventObserverMock->expects($this->once())
41+
->method('getModel')
42+
->willReturn($this->createMock(Customer::class));
43+
44+
$objectManager = new ObjectManagerHelper($this);
45+
/** @var ResetAttemptForFrontendObserver $observer */
46+
$observer = $objectManager->getObject(
47+
ResetAttemptForFrontendObserver::class,
48+
['resLogFactory' => $resLogFactoryMock]
49+
);
50+
$this->assertInstanceOf(Log::class, $observer->execute($eventObserverMock));
51+
}
52+
}

0 commit comments

Comments
 (0)