/** * Test method * with resultCode = RESPONSE_CODE_APPROVED and Origresult != RESPONSE_CODE_FRAUDSERVICE_FILTER */ public function testAuthorize() { $this->initializationAuthorizeMock(); $this->buildRequestData(); $paymentTokenMock = $this->getMock(PaymentTokenInterface::class); $extensionAttributes = $this->getMockBuilder('Magento\\Sales\\Api\\Data\\OrderPaymentExtensionInterface')->disableOriginalConstructor()->setMethods(['setVaultPaymentToken'])->getMock(); $ccDetails = ['cc_type' => 'VI', 'cc_number' => '1111']; $this->responseMock->setData('result_code', Payflowpro::RESPONSE_CODE_APPROVED); $this->responseMock->setData('origresult', 0); $this->responseMock->setData('pnref', 'test-pnref'); $this->gatewayMock->expects($this->once())->method('postRequest')->willReturn($this->responseMock); $this->responseValidator->expects($this->once())->method('validate')->with($this->responseMock); $this->paymentMock->expects($this->once())->method('setTransactionId')->with('test-pnref')->willReturnSelf(); $this->paymentMock->expects($this->once())->method('setIsTransactionClosed')->with(0); $this->paymentMock->expects($this->once())->method('getCcExpYear')->willReturn('2017'); $this->paymentMock->expects($this->once())->method('getCcExpMonth')->willReturn('12'); $this->paymentMock->expects(static::any())->method('getAdditionalInformation')->willReturnMap([[Transparent::CC_DETAILS, $ccDetails], [Transparent::PNREF, 'test-pnref']]); $this->paymentTokenFactory->expects(static::once())->method('create')->willReturn($paymentTokenMock); $paymentTokenMock->expects(static::once())->method('setGatewayToken')->with('test-pnref'); $paymentTokenMock->expects(static::once())->method('setTokenDetails')->with(json_encode($ccDetails)); $paymentTokenMock->expects(static::once())->method('setExpiresAt')->with('2018-01-01 00:00:00'); $this->paymentMock->expects(static::once())->method('getExtensionAttributes')->willReturn($extensionAttributes); $extensionAttributes->expects(static::once())->method('setVaultPaymentToken')->with($paymentTokenMock); $this->assertSame($this->object, $this->object->authorize($this->paymentMock, 33)); }
/** * Test method * with resultCode = RESPONSE_CODE_APPROVED and Origresult != RESPONSE_CODE_FRAUDSERVICE_FILTER */ public function testAuthorize() { $this->initializationAuthorizeMock(); $this->buildRequestData(); $this->responseMock->expects($this->any())->method('getResultCode')->willReturn(Payflowpro::RESPONSE_CODE_APPROVED); $this->responseMock->expects($this->any())->method('getOrigresult')->willReturn(0); $this->gatewayMock->expects($this->once())->method('postRequest')->willReturn($this->responseMock); $this->responseValidator->expects($this->once())->method('validate')->with($this->responseMock); $this->responseMock->expects($this->once())->method('getPnref')->willReturn('test-pnref'); $this->paymentMock->expects($this->once())->method('setTransactionId')->with('test-pnref')->willReturnSelf(); $this->paymentMock->expects($this->once())->method('setIsTransactionClosed')->with(0); $this->assertSame($this->object, $this->object->authorize($this->paymentMock, 33)); }
public function testInitAdditionalInformationWithUnserialize() { $data = serialize(['key1' => 'data1', 'key2' => 'data2']); $this->info->setData('additional_information', $data); $this->assertEquals(unserialize($data), $this->info->getAdditionalInformation()); }
/** * @param \Magento\Framework\Model\Context $context * @param \Magento\Framework\Registry $registry * @param \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory * @param \Magento\Framework\Api\AttributeValueFactory $customAttributeFactory * @param \Magento\Payment\Helper\Data $paymentData * @param \Magento\Framework\Encryption\EncryptorInterface $encryptor * @param \Magento\Sales\Model\Service\OrderFactory $serviceOrderFactory * @param Payment\TransactionFactory $transactionFactory * @param \Magento\Sales\Model\Resource\Order\Payment\Transaction\CollectionFactory $transactionCollectionFactory * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param PriceCurrencyInterface $priceCurrency * @param \Magento\Framework\Model\Resource\AbstractResource $resource * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection * @param array $data * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, \Magento\Framework\Api\AttributeValueFactory $customAttributeFactory, \Magento\Payment\Helper\Data $paymentData, \Magento\Framework\Encryption\EncryptorInterface $encryptor, \Magento\Sales\Model\Service\OrderFactory $serviceOrderFactory, \Magento\Sales\Model\Order\Payment\TransactionFactory $transactionFactory, \Magento\Sales\Model\Resource\Order\Payment\Transaction\CollectionFactory $transactionCollectionFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, PriceCurrencyInterface $priceCurrency, \Magento\Framework\Model\Resource\AbstractResource $resource = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, array $data = []) { $this->priceCurrency = $priceCurrency; $this->_serviceOrderFactory = $serviceOrderFactory; $this->_transactionFactory = $transactionFactory; $this->_transactionCollectionFactory = $transactionCollectionFactory; $this->_storeManager = $storeManager; parent::__construct($context, $registry, $extensionFactory, $customAttributeFactory, $paymentData, $encryptor, $resource, $resourceCollection, $data); }
/** * @param \Magento\Framework\Model\Context $context * @param \Magento\Framework\Registry $registry * @param \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory * @param \Magento\Framework\Api\AttributeValueFactory $customAttributeFactory * @param \Magento\Payment\Helper\Data $paymentData * @param \Magento\Framework\Encryption\EncryptorInterface $encryptor * @param \Magento\Sales\Model\Order\CreditmemoFactory $creditmemoFactory * @param PriceCurrencyInterface $priceCurrency * @param \Magento\Sales\Api\TransactionRepositoryInterface $transactionRepository * @param \Magento\Sales\Model\Order\Payment\Transaction\ManagerInterface $transactionManager * @param Transaction\BuilderInterface $transactionBuilder * @param Payment\Processor $paymentProcessor * @param OrderRepositoryInterface $orderRepository * @param \Magento\Framework\Model\ModelResource\AbstractResource $resource * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection * @param array $data * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, \Magento\Framework\Api\AttributeValueFactory $customAttributeFactory, \Magento\Payment\Helper\Data $paymentData, \Magento\Framework\Encryption\EncryptorInterface $encryptor, \Magento\Sales\Model\Order\CreditmemoFactory $creditmemoFactory, PriceCurrencyInterface $priceCurrency, \Magento\Sales\Api\TransactionRepositoryInterface $transactionRepository, ManagerInterface $transactionManager, \Magento\Sales\Model\Order\Payment\Transaction\BuilderInterface $transactionBuilder, \Magento\Sales\Model\Order\Payment\Processor $paymentProcessor, OrderRepositoryInterface $orderRepository, \Magento\Framework\Model\ModelResource\AbstractResource $resource = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, array $data = []) { $this->priceCurrency = $priceCurrency; $this->creditmemoFactory = $creditmemoFactory; $this->transactionRepository = $transactionRepository; $this->transactionManager = $transactionManager; $this->transactionBuilder = $transactionBuilder; $this->orderPaymentProcessor = $paymentProcessor; $this->orderRepository = $orderRepository; parent::__construct($context, $registry, $extensionFactory, $customAttributeFactory, $paymentData, $encryptor, $resource, $resourceCollection, $data); }