![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-marketplace/Test/Unit/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Marketplace\Test\Unit\Model; use Magento\Framework\HTTP\Client\Curl; use Magento\Marketplace\Helper\Cache; use Magento\Marketplace\Model\Partners; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class PartnersTest extends TestCase { /** * @var MockObject|Partners */ private $partnersModelMock; private $returnPackages = ' { "partners": { "1": { "url_page": "http://test.com", "url_partner_page": "http://test.com", "img": "http://test.com/img", "title": "Test page", "description": "Test page description" }, "2": { "url_page": "http://test.com", "url_partner_page": "http://test.com", "img": "http://test.com/img", "title": "Test page", "description": "Test page description" } } }'; protected function setUp(): void { $this->partnersModelMock = $this->getPartnersModelMock( [ 'getApiUrl', 'getCurlClient', 'getCache', 'getReferer' ] ); } /** * @var string */ protected $apiUrl = 'www.testpackages'; /** * @covers \Magento\Marketplace\Model\Partners::getPartners */ public function testGetPartners() { $this->partnersModelMock->expects($this->once()) ->method('getApiUrl') ->willReturn($this->apiUrl); $curlMock = $this->getCurlMock(['post', 'getBody', 'setOptions']); $curlMock->expects($this->once()) ->method('post'); $curlMock->expects($this->once()) ->method('setOptions'); $curlMock->expects($this->once()) ->method('getBody') ->willReturn($this->returnPackages); $this->partnersModelMock->expects($this->exactly(3)) ->method('getCurlClient') ->willReturn($curlMock); $cacheMock = $this->getCacheMock(['savePartnersToCache']); $cacheMock->expects($this->once()) ->method('savePartnersToCache'); $this->partnersModelMock->expects($this->once()) ->method('getCache') ->willReturn($cacheMock); $this->partnersModelMock->expects($this->once()) ->method('getReferer'); $this->partnersModelMock->getPartners(); } /** * @covers \Magento\Marketplace\Model\Partners::getPartners */ public function testGetPartnersException() { $this->partnersModelMock->expects($this->once()) ->method('getApiUrl') ->willReturn($this->apiUrl); $curlMock = $this->getCurlMock(['post', 'getBody', 'setOptions']); $curlMock->expects($this->once()) ->method('post'); $curlMock->expects($this->once()) ->method('getBody') ->willThrowException(new \Exception()); $this->partnersModelMock->expects($this->exactly(3)) ->method('getCurlClient') ->willReturn($curlMock); $cacheMock = $this->getCacheMock(['savePartnersToCache', 'loadPartnersFromCache']); $cacheMock->expects($this->never()) ->method('savePartnersToCache'); $cacheMock->expects($this->once()) ->method('loadPartnersFromCache'); $this->partnersModelMock->expects($this->once()) ->method('getCache') ->willReturn($cacheMock); $this->partnersModelMock->expects($this->once()) ->method('getReferer'); $this->partnersModelMock->getPartners(); } /** * Gets partners block mock * * @return MockObject|\Magento\Marketplace\Block\Partners */ public function getPartnersBlockMock($methods = null) { return $this->createPartialMock(\Magento\Marketplace\Block\Partners::class, $methods); } /** * Gets partners model mock * * @return MockObject|Partners */ public function getPartnersModelMock($methods) { return $this->createPartialMock(Partners::class, $methods); } /** * Gets partners model mock * * @return MockObject|Curl */ public function getCurlMock($methods) { return $this->createPartialMock(Curl::class, $methods); } /** * Gets cache mock * * @return MockObject|Curl */ public function getCacheMock($methods) { return $this->createPartialMock(Cache::class, $methods); } }