Skip to content

Commit 7517d51

Browse files
ENGCOM-6987: Unit test for UpdateElementTypesObserver #27010
- Merge Pull Request #27010 from mmezhensky/magento2:unittest-UpdateElementTypesObserverTest - Merged commits: 1. 7448fd3
2 parents 2d46d98 + 7448fd3 commit 7517d51

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
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\Weee\Test\Unit\Observer;
10+
11+
use Magento\Framework\DataObject;
12+
use Magento\Framework\Event\Observer;
13+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
14+
use Magento\Reports\Model\Event;
15+
use Magento\Weee\Block\Element\Weee\Tax;
16+
use Magento\Weee\Observer\UpdateElementTypesObserver;
17+
use PHPUnit\Framework\MockObject\MockObject;
18+
use PHPUnit\Framework\TestCase;
19+
20+
/**
21+
* Unit test for Magento\Weee\Observer\UpdateElementTypesObserver
22+
*/
23+
class UpdateElementTypesObserverTest extends TestCase
24+
{
25+
/*
26+
* Stub response type
27+
*/
28+
const STUB_RESPONSE_TYPE = [];
29+
30+
/**
31+
* Testable Object
32+
*
33+
* @var UpdateElementTypesObserver
34+
*/
35+
private $observer;
36+
37+
/**
38+
* @var ObjectManager
39+
*/
40+
private $objectManager;
41+
42+
/**
43+
* @var Observer|MockObject
44+
*/
45+
private $observerMock;
46+
47+
/**
48+
* @var Event|MockObject
49+
*/
50+
private $eventMock;
51+
52+
/**
53+
* @var DataObject|MockObject
54+
*/
55+
private $responseMock;
56+
57+
/**
58+
* @inheritDoc
59+
*/
60+
protected function setUp(): void
61+
{
62+
$this->objectManager = new ObjectManager($this);
63+
$this->observerMock = $this->createMock(Observer::class);
64+
65+
$this->eventMock = $this->getMockBuilder(Event::class)
66+
->disableOriginalConstructor()
67+
->setMethods(['getResponse'])
68+
->getMock();
69+
70+
$this->responseMock = $this->getMockBuilder(DataObject::class)
71+
->disableOriginalConstructor()
72+
->setMethods(['getTypes', 'setTypes'])
73+
->getMock();
74+
75+
$this->observer = $this->objectManager->getObject(UpdateElementTypesObserver::class);
76+
}
77+
78+
/**
79+
* Test for execute(), covers test case to adding custom element type for attributes form
80+
*/
81+
public function testRemoveProductUrlsFromStorage(): void
82+
{
83+
$this->observerMock
84+
->expects($this->once())
85+
->method('getEvent')
86+
->willReturn($this->eventMock);
87+
88+
$this->eventMock
89+
->expects($this->once())
90+
->method('getResponse')
91+
->willReturn($this->responseMock);
92+
93+
$this->responseMock
94+
->expects($this->once())
95+
->method('getTypes')
96+
->willReturn(self::STUB_RESPONSE_TYPE);
97+
98+
$this->responseMock
99+
->expects($this->once())
100+
->method('setTypes')
101+
->with(['weee' => Tax::class]);
102+
103+
$this->observer->execute($this->observerMock);
104+
}
105+
}

0 commit comments

Comments
 (0)