ItemsUpdaterTest.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Indexer\Test\Unit\Block\Backend\Grid;
  7. class ItemsUpdaterTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @param bool $argument
  11. * @dataProvider updateDataProvider
  12. */
  13. public function testUpdate($argument)
  14. {
  15. $params = ['change_mode_onthefly' => 1, 'change_mode_changelog' => 2];
  16. $auth = $this->getMockBuilder(\Magento\Framework\AuthorizationInterface::class)
  17. ->disableOriginalConstructor()
  18. ->getMock();
  19. $auth->expects($this->once())
  20. ->method('isAllowed')
  21. ->with('Magento_Indexer::changeMode')
  22. ->will($this->returnValue($argument));
  23. $model = new \Magento\Indexer\Block\Backend\Grid\ItemsUpdater($auth);
  24. $params = $model->update($params);
  25. $this->assertEquals(
  26. $argument,
  27. (isset($params['change_mode_onthefly']) && isset($params['change_mode_changelog']))
  28. );
  29. }
  30. /**
  31. * @return array
  32. */
  33. public function updateDataProvider()
  34. {
  35. return [
  36. [true],
  37. [false]
  38. ];
  39. }
  40. }