12 use PHPUnit_Framework_MockObject_MockObject as MockObject;
22 private $gridExtensionMock;
34 private $packagesDataMock;
39 private $packagesAuthMock;
44 private $extensionData = [];
49 private $lastSyncData = [];
60 $this->lastSyncData = [
66 'magento/sample-module-one' => [
67 'name' =>
'magento/sample-module-one',
68 'type' =>
'magento2-module',
72 'countOfInstall' => 0,
75 $this->extensionData = [
77 'name' =>
'magento/sample-module-one',
78 'type' =>
'magento2-module',
82 'vendor' =>
'magento',
86 $this->packagesDataMock = $this->createMock(PackagesData::class);
87 $this->packagesAuthMock = $this->createMock(PackagesAuth::class);
88 $this->gridExtensionMock = $this->createMock(Extension::class);
91 $this->packagesDataMock,
92 $this->packagesAuthMock,
93 $this->gridExtensionMock
100 $this->assertInstanceOf(\
Zend\View\Model\ViewModel::class,
$viewModel);
106 $this->gridExtensionMock->expects($this->once())
108 ->willReturn($this->extensionData);
109 $this->packagesDataMock->expects($this->once())
110 ->method(
'syncPackagesData')
111 ->willReturn($this->lastSyncData);
112 $this->packagesAuthMock->expects($this->once())
113 ->method(
'getAuthJsonData')
116 'username' =>
'someusername',
117 'password' =>
'somepassword' 121 $jsonModel = $this->controller->extensionsAction();
122 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
123 $variables = $jsonModel->getVariables();
124 $this->assertArrayHasKey(
'success', $variables);
125 $this->assertTrue($variables[
'success']);
126 $this->assertEquals($this->extensionData, $variables[
'extensions']);
127 $this->assertArrayHasKey(
'total', $variables);
128 $this->assertEquals(1, $variables[
'total']);
129 $this->assertEquals($this->lastSyncData, $variables[
'lastSyncData']);
134 $authDataJson = [
'username' =>
'admin',
'password' =>
'12345'];
136 $this->packagesDataMock->expects($this->once())
137 ->method(
'syncPackagesData')
138 ->willReturn($this->lastSyncData);
139 $this->packagesAuthMock->expects($this->once())
140 ->method(
'getAuthJsonData')
141 ->willReturn($authDataJson);
142 $this->packagesAuthMock->expects($this->once())
143 ->method(
'checkCredentials')
145 $authDataJson[
'username'],
146 $authDataJson[
'password']
149 $jsonModel = $this->controller->syncAction();
150 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
151 $variables = $jsonModel->getVariables();
152 $this->assertArrayHasKey(
'success', $variables);
153 $this->assertTrue($variables[
'success']);
154 $this->assertEquals($this->lastSyncData, $variables[
'lastSyncData']);