Skip to content

Commit bb20a8b

Browse files
committed
Small refactoring. Covering the SetWeeeRendererInFormObserver class by Unit Test
1 parent 2cab212 commit bb20a8b

File tree

2 files changed

+93
-5
lines changed

2 files changed

+93
-5
lines changed

app/code/Magento/Weee/Test/Unit/Observer/AddPaymentWeeeItemTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ protected function setUp()
6060
* Test execute
6161
*
6262
* @dataProvider dataProvider
63-
* @param $isEnabled
64-
* @param $includeInSubtotal
63+
* @param bool $isEnabled
64+
* @param bool $includeInSubtotal
6565
* @return void
6666
*/
67-
public function testExecute($isEnabled, $includeInSubtotal): void
67+
public function testExecute(bool $isEnabled, bool $includeInSubtotal): void
6868
{
6969
/** @var Observer|MockObject $observerMock */
7070
$observerMock = $this->createMock(Observer::class);
@@ -122,8 +122,8 @@ public function dataProvider(): array
122122
/**
123123
* Prepare if FPT should be added to payment cart as custom item or not.
124124
*
125-
* @param $isEnabled
126-
* @param $includeInSubtotal
125+
* @param bool $isEnabled
126+
* @param bool $includeInSubtotal
127127
* @return bool
128128
*/
129129
private function prepareShouldBeAddedAsCustomItem(bool $isEnabled, bool $includeInSubtotal): bool
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Weee\Test\Unit\Observer;
9+
10+
use Magento\Framework\Data\Form;
11+
use Magento\Framework\Event;
12+
use Magento\Framework\Event\Observer;
13+
use Magento\Framework\View\LayoutInterface;
14+
use Magento\Weee\Model\Tax;
15+
use Magento\Weee\Observer\SetWeeeRendererInFormObserver;
16+
use PHPUnit\Framework\TestCase;
17+
use PHPUnit_Framework_MockObject_MockObject as MockObject;
18+
19+
/**
20+
* Class AddPaymentWeeeItemTest
21+
*/
22+
class SetWeeeRendererInFormObserverTest extends TestCase
23+
{
24+
/**
25+
* Testable object
26+
*
27+
* @var SetWeeeRendererInFormObserver
28+
*/
29+
private $observer;
30+
31+
/**
32+
* @var LayoutInterface|MockObject
33+
*/
34+
private $layoutMock;
35+
36+
/**
37+
* @var Tax|MockObject
38+
*/
39+
private $taxModelMock;
40+
41+
/**
42+
* Set Up
43+
*/
44+
protected function setUp()
45+
{
46+
$this->layoutMock = $this->createMock(LayoutInterface::class);
47+
$this->taxModelMock = $this->createMock(Tax::class);
48+
$this->observer = new SetWeeeRendererInFormObserver(
49+
$this->layoutMock,
50+
$this->taxModelMock
51+
);
52+
}
53+
54+
/**
55+
* Test assigning a custom renderer for product create/edit form weee attribute element
56+
*
57+
* @return void
58+
*/
59+
public function testExecute(): void
60+
{
61+
$attributes = new \ArrayIterator(['element_code_1', 'element_code_2']);
62+
/** @var Event|MockObject $eventMock */
63+
$eventMock = $this->getMockBuilder(Event::class)
64+
->disableOriginalConstructor()
65+
->setMethods(['getForm'])
66+
->getMock();
67+
68+
/** @var Observer|MockObject $observerMock */
69+
$observerMock = $this->createMock(Observer::class);
70+
/** @var Form|MockObject $formMock */
71+
$formMock = $this->createMock(Form::class);
72+
73+
$eventMock->expects($this->once())
74+
->method('getForm')
75+
->willReturn($formMock);
76+
$observerMock->expects($this->once())
77+
->method('getEvent')
78+
->willReturn($eventMock);
79+
$this->taxModelMock->expects($this->once())
80+
->method('getWeeeAttributeCodes')
81+
->willReturn($attributes);
82+
$formMock->expects($this->exactly($attributes->count()))
83+
->method('getElement')
84+
->willReturnSelf();
85+
86+
$this->observer->execute($observerMock);
87+
}
88+
}

0 commit comments

Comments
 (0)