12 use Magento\Backend\Model\Menu\Filter\IteratorFactory;
20 class MenuTest extends \PHPUnit\Framework\TestCase
25 private $activeItemMock;
30 private $menuModelMock;
40 private $iteratorFactoryMock;
45 private $authSessionMock;
50 private $menuConfigMock;
55 private $localeResolverMock;
60 private $objectManagerHelper;
65 private $menuItemCheckerMock;
70 private $anchorRendererMock;
79 $this->activeItemMock = $this->getMockBuilder(Item::class)
80 ->disableOriginalConstructor()
82 $this->urlMock = $this->getMockBuilder(UrlInterface::class)
83 ->disableOriginalConstructor()
85 $this->iteratorFactoryMock = $this->getMockBuilder(IteratorFactory::class)
86 ->disableOriginalConstructor()
88 $this->authSessionMock = $this->getMockBuilder(Session::class)
89 ->disableOriginalConstructor()
91 $this->menuConfigMock = $this->getMockBuilder(Config::class)
92 ->disableOriginalConstructor()
94 $this->localeResolverMock = $this->getMockBuilder(ResolverInterface::class)
95 ->disableOriginalConstructor()
97 $this->menuItemChecker = $this->getMockBuilder(MenuItemChecker::class)
98 ->disableOriginalConstructor()
100 $this->anchorRendererMock = $this->getMockBuilder(AnchorRenderer::class)
101 ->disableOriginalConstructor()
104 $this->objectManagerHelper =
new ObjectManagerHelper($this);
105 $this->menu = $this->objectManagerHelper->getObject(
108 'url' => $this->urlMock,
109 'iteratorFactory' => $this->iteratorFactoryMock,
110 'authSession' => $this->authSessionMock,
111 'menuConfig' => $this->menuConfigMock,
112 'localeResolver' => $this->localeResolverMock,
113 'menuItemChecker' => $this->menuItemCheckerMock,
114 'anchorRenderer' => $this->anchorRendererMock
121 $this->menuModelMock = $this->getMockBuilder(MenuModel::class)
122 ->disableOriginalConstructor()
124 $this->menu->setActive($this->activeItemMock);
125 $this->menuConfigMock->expects($this->once())->method(
'getMenu')->willReturn($this->menuModelMock);
126 $this->menuModelMock->expects($this->once())
128 ->willReturn($this->activeItemMock);
130 $this->assertEquals($this->activeItemMock, $this->menu->getActiveItemModel());
135 $this->menuModelMock = $this->getMockBuilder(MenuModel::class)
136 ->disableOriginalConstructor()
138 $this->menu->setActive(
null);
139 $this->menuConfigMock->expects($this->once())->method(
'getMenu')->willReturn($this->menuModelMock);
140 $this->menuModelMock->expects($this->once())
144 $this->assertFalse($this->menu->getActiveItemModel());