12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- declare(strict_types=1);
- namespace Magento\AuthorizenetAcceptjs\Test\Unit\Observer;
- use Magento\Framework\DataObject;
- use Magento\Framework\Event;
- use Magento\Framework\Event\Observer;
- use Magento\Payment\Model\InfoInterface;
- use Magento\Payment\Observer\AbstractDataAssignObserver;
- use Magento\AuthorizenetAcceptjs\Observer\DataAssignObserver;
- use Magento\Quote\Api\Data\PaymentInterface;
- use PHPUnit\Framework\TestCase;
- class DataAssignObserverTest extends TestCase
- {
- public function testExecuteSetsProperData()
- {
- $additionalInfo = [
- 'opaqueDataDescriptor' => 'foo',
- 'opaqueDataValue' => 'bar',
- 'ccLast4' => '1234'
- ];
- $observerContainer = $this->createMock(Observer::class);
- $event = $this->createMock(Event::class);
- $paymentInfoModel = $this->createMock(InfoInterface::class);
- $dataObject = new DataObject([
- PaymentInterface::KEY_ADDITIONAL_DATA => $additionalInfo
- ]);
- $observerContainer->method('getEvent')
- ->willReturn($event);
- $event->method('getDataByKey')
- ->willReturnMap(
- [
- [AbstractDataAssignObserver::MODEL_CODE, $paymentInfoModel],
- [AbstractDataAssignObserver::DATA_CODE, $dataObject]
- ]
- );
- $paymentInfoModel->expects($this->at(0))
- ->method('setAdditionalInformation')
- ->with('opaqueDataDescriptor', 'foo');
- $paymentInfoModel->expects($this->at(1))
- ->method('setAdditionalInformation')
- ->with('opaqueDataValue', 'bar');
- $paymentInfoModel->expects($this->at(2))
- ->method('setAdditionalInformation')
- ->with('ccLast4', '1234');
- $observer = new DataAssignObserver();
- $observer->execute($observerContainer);
- }
- public function testDoestSetDataWhenEmpty()
- {
- $observerContainer = $this->createMock(Observer::class);
- $event = $this->createMock(Event::class);
- $paymentInfoModel = $this->createMock(InfoInterface::class);
- $observerContainer->method('getEvent')
- ->willReturn($event);
- $event->method('getDataByKey')
- ->willReturnMap(
- [
- [AbstractDataAssignObserver::MODEL_CODE, $paymentInfoModel],
- [AbstractDataAssignObserver::DATA_CODE, new DataObject()]
- ]
- );
- $paymentInfoModel->expects($this->never())
- ->method('setAdditionalInformation');
- $observer = new DataAssignObserver();
- $observer->execute($observerContainer);
- }
- }
|