Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
All Data Structures Namespaces Files Functions Variables Pages
UpdateExtensionGridTest.php
Go to the documentation of this file.
1 <?php
7 
10 use PHPUnit_Framework_MockObject_MockObject as MockObject;
11 use Zend\View\Model\JsonModel;
12 use Zend\View\Model\ViewModel;
13 
17 class UpdateExtensionGridTest extends \PHPUnit\Framework\TestCase
18 {
22  private $gridExtensionMock;
23 
29  private $controller;
30 
31  public function setUp()
32  {
33  $this->gridExtensionMock = $this->createMock(Extension::class);
34 
35  $this->controller = new UpdateExtensionGrid(
36  $this->gridExtensionMock
37  );
38  }
39 
40  public function testIndexAction()
41  {
42  $viewModel = $this->controller->indexAction();
43 
44  $this->assertInstanceOf(ViewModel::class, $viewModel);
45  $this->assertTrue($viewModel->terminate());
46  }
47 
48  public function testExtensionsAction()
49  {
50  $extensionData = [
51  [
52  'name' => 'magento-package-1',
53  'product_name' => 'magento/package-1',
54  'type' => 'magento2-module',
55  'version' => '1.0.0',
56  'latestVersion' => '2.0.5',
57  'versions' => ['2.0.5', '2.0.4', '2.0.3'],
58  'update' => true,
59  'uninstall' => true
60  ]
61  ];
62  $this->gridExtensionMock->expects($this->once())
63  ->method('getListForUpdate')
64  ->willReturn($extensionData);
65 
66  $jsonModel = $this->controller->extensionsAction();
67  $this->assertInstanceOf(JsonModel::class, $jsonModel);
68  $variables = $jsonModel->getVariables();
69 
70  $this->assertArrayHasKey('success', $variables);
71  $this->assertTrue($variables['success']);
72  $this->assertEquals($extensionData, $variables['extensions']);
73  $this->assertArrayHasKey('total', $variables);
74  $this->assertEquals(1, $variables['total']);
75  }
76 }
$viewModel