TransferFactoryTest.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Braintree\Test\Unit\Gateway\Http;
  7. use Magento\Braintree\Gateway\Http\TransferFactory;
  8. use Magento\Payment\Gateway\Http\TransferBuilder;
  9. use Magento\Payment\Gateway\Http\TransferInterface;
  10. /**
  11. * Class TransferFactoryTest
  12. */
  13. class TransferFactoryTest extends \PHPUnit\Framework\TestCase
  14. {
  15. /**
  16. * @var TransferFactory
  17. */
  18. private $transferFactory;
  19. /**
  20. * @var TransferFactory
  21. */
  22. private $transferMock;
  23. /**
  24. * @var TransferBuilder|\PHPUnit_Framework_MockObject_MockObject
  25. */
  26. private $transferBuilder;
  27. protected function setUp()
  28. {
  29. $this->transferBuilder = $this->createMock(TransferBuilder::class);
  30. $this->transferMock = $this->createMock(TransferInterface::class);
  31. $this->transferFactory = new TransferFactory(
  32. $this->transferBuilder
  33. );
  34. }
  35. public function testCreate()
  36. {
  37. $request = ['data1', 'data2'];
  38. $this->transferBuilder->expects($this->once())
  39. ->method('setBody')
  40. ->with($request)
  41. ->willReturnSelf();
  42. $this->transferBuilder->expects($this->once())
  43. ->method('build')
  44. ->willReturn($this->transferMock);
  45. $this->assertEquals($this->transferMock, $this->transferFactory->create($request));
  46. }
  47. }