123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Vault\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\Quote\Api\Data\PaymentInterface;
- use Magento\Vault\Model\Ui\VaultConfigProvider;
- use Magento\Vault\Observer\VaultEnableAssigner;
- class VaultEnableAssignerTest extends \PHPUnit\Framework\TestCase
- {
- public function testExecuteNoActiveCode()
- {
- $dataObject = new DataObject();
- $observer = $this->getPreparedObserverWithMap(
- [
- [AbstractDataAssignObserver::DATA_CODE, $dataObject]
- ]
- );
- $vaultEnableAssigner = new VaultEnableAssigner();
- $vaultEnableAssigner->execute($observer);
- }
- /**
- * @param string $activeCode
- * @param boolean $expectedBool
- * @dataProvider booleanDataProvider
- */
- public function testExecute($activeCode, $expectedBool)
- {
- $dataObject = new DataObject(
- [
- PaymentInterface::KEY_ADDITIONAL_DATA => [
- VaultConfigProvider::IS_ACTIVE_CODE => $activeCode
- ]
- ]
- );
- $paymentModel = $this->createMock(InfoInterface::class);
- $paymentModel->expects(static::once())
- ->method('setAdditionalInformation')
- ->with(
- VaultConfigProvider::IS_ACTIVE_CODE,
- $expectedBool
- );
- $observer = $this->getPreparedObserverWithMap(
- [
- [AbstractDataAssignObserver::DATA_CODE, $dataObject],
- [AbstractDataAssignObserver::MODEL_CODE, $paymentModel]
- ]
- );
- $vaultEnableAssigner = new VaultEnableAssigner();
- $vaultEnableAssigner->execute($observer);
- }
- /**
- * @return array
- */
- public function booleanDataProvider()
- {
- return [
- ['true', true],
- ['1', true],
- ['on', true],
- ['false', false],
- ['0', false],
- ['off', false]
- ];
- }
- public function testExecuteNever()
- {
- $dataObject = new DataObject(
- [
- PaymentInterface::KEY_ADDITIONAL_DATA => []
- ]
- );
- $paymentModel = $this->createMock(InfoInterface::class);
- $paymentModel->expects(static::never())
- ->method('setAdditionalInformation');
- $observer = $this->getPreparedObserverWithMap(
- [
- [AbstractDataAssignObserver::DATA_CODE, $dataObject],
- [AbstractDataAssignObserver::MODEL_CODE, $paymentModel]
- ]
- );
- $vaultEnableAssigner = new VaultEnableAssigner();
- $vaultEnableAssigner->execute($observer);
- }
- /**
- * @param array $returnMap
- * @return \PHPUnit_Framework_MockObject_MockObject|Observer
- */
- private function getPreparedObserverWithMap(array $returnMap)
- {
- $observer = $this->getMockBuilder(Observer::class)
- ->disableOriginalConstructor()
- ->getMock();
- $event = $this->getMockBuilder(Event::class)
- ->disableOriginalConstructor()
- ->getMock();
- $observer->expects(static::atLeastOnce())
- ->method('getEvent')
- ->willReturn($event);
- $event->expects(static::atLeastOnce())
- ->method('getDataByKey')
- ->willReturnMap(
- $returnMap
- );
- return $observer;
- }
- }
|