MenuBuilderTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Test\Unit\Model;
  7. use Magento\Backend\Model\Setup\MenuBuilder;
  8. class MenuBuilderTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @dataProvider afterGetResultDataProvider
  12. *
  13. * @param string $isPub
  14. * @param int $times
  15. * @param bool $result
  16. */
  17. public function testAfterGetResult($isPub, $times)
  18. {
  19. $docRootLocator = $this->createMock(\Magento\Framework\App\DocRootLocator::class);
  20. $docRootLocator->expects($this->once())->method('isPub')->willReturn($isPub);
  21. $model = new MenuBuilder($docRootLocator);
  22. /** @var \Magento\Backend\Model\Menu $menu */
  23. $menu = $this->createMock(\Magento\Backend\Model\Menu::class);
  24. $menu->expects($this->exactly($times))->method('remove')->willReturn(true);
  25. /** @var \Magento\Backend\Model\Menu\Builder $menuBuilder */
  26. $menuBuilder = $this->createMock(\Magento\Backend\Model\Menu\Builder::class);
  27. $this->assertInstanceOf(
  28. \Magento\Backend\Model\Menu::class,
  29. $model->afterGetResult($menuBuilder, $menu)
  30. );
  31. }
  32. /**
  33. * @return array
  34. */
  35. public function afterGetResultDataProvider()
  36. {
  37. return [[true, 1], [false, 0],];
  38. }
  39. }