123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Braintree\Test\Unit\Controller\Adminhtml\Payment;
- use Magento\Backend\App\Action\Context;
- use Magento\Backend\Model\Session\Quote;
- use Magento\Braintree\Controller\Adminhtml\Payment\GetClientToken;
- use Magento\Braintree\Gateway\Config\Config;
- use Magento\Braintree\Model\Adapter\BraintreeAdapter;
- use Magento\Braintree\Model\Adapter\BraintreeAdapterFactory;
- use Magento\Framework\Controller\ResultFactory;
- use Magento\Framework\Controller\ResultInterface;
- use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
- use PHPUnit_Framework_MockObject_MockObject as MockObject;
- /**
- * Tests \Magento\Braintree\Controller\Adminhtml\Payment\GetClientToken
- */
- class GetClientTokenTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var GetClientToken
- */
- private $action;
- /**
- * @var Config|MockObject
- */
- private $configMock;
- /**
- * @var BraintreeAdapterFactory|MockObject
- */
- private $adapterFactoryMock;
- /**
- * @var Quote|MockObject
- */
- private $quoteSessionMock;
- /**
- * @var ResultFactory|MockObject
- */
- private $resultFactoryMock;
- protected function setUp()
- {
- $this->resultFactoryMock = $this->getMockBuilder(ResultFactory::class)
- ->disableOriginalConstructor()
- ->setMethods(['create'])
- ->getMock();
- $context = $this->getMockBuilder(Context::class)
- ->disableOriginalConstructor()
- ->setMethods(['getResultFactory'])
- ->getMock();
- $context->expects(static::any())
- ->method('getResultFactory')
- ->willReturn($this->resultFactoryMock);
- $this->configMock = $this->getMockBuilder(Config::class)
- ->disableOriginalConstructor()
- ->setMethods(['getMerchantAccountId'])
- ->getMock();
- $this->adapterFactoryMock = $this->getMockBuilder(BraintreeAdapterFactory::class)
- ->disableOriginalConstructor()
- ->setMethods(['create'])
- ->getMock();
- $this->quoteSessionMock = $this->getMockBuilder(Quote::class)
- ->disableOriginalConstructor()
- ->setMethods(['getStoreId'])
- ->getMock();
- $managerHelper = new ObjectManager($this);
- $this->action = $managerHelper->getObject(GetClientToken::class, [
- 'context' => $context,
- 'config' => $this->configMock,
- 'adapterFactory' => $this->adapterFactoryMock,
- 'quoteSession' => $this->quoteSessionMock,
- ]);
- }
- public function testExecute()
- {
- $storeId = '1';
- $clientToken = 'client_token';
- $responseMock = $this->getMockBuilder(ResultInterface::class)
- ->setMethods(['setHttpResponseCode', 'renderResult', 'setHeader', 'setData'])
- ->getMock();
- $responseMock->expects(static::once())
- ->method('setData')
- ->with(['clientToken' => $clientToken])
- ->willReturn($responseMock);
- $this->resultFactoryMock->expects(static::once())
- ->method('create')
- ->willReturn($responseMock);
- $this->quoteSessionMock->expects(static::once())
- ->method('getStoreId')
- ->willReturn($storeId);
- $this->configMock->expects(static::once())
- ->method('getMerchantAccountId')
- ->with($storeId)
- ->willReturn(null);
- $adapterMock = $this->getMockBuilder(BraintreeAdapter::class)
- ->disableOriginalConstructor()
- ->setMethods(['generate'])
- ->getMock();
- $adapterMock->expects(static::once())
- ->method('generate')
- ->willReturn($clientToken);
- $this->adapterFactoryMock->expects(static::once())
- ->method('create')
- ->willReturn($adapterMock);
- $this->action->execute();
- }
- }
|