Source of file CreateCardServiceTest.php
Size: 4,864 Bytes - Last Modified: 2021-12-24T06:34:53+00:00
/var/www/docs.ssmods.com/process/src/tests/CreateCardServiceTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | <?php namespace SilverStripe\Omnipay\Tests; use SilverStripe\Omnipay\Service\CreateCardService; use SilverStripe\Omnipay\Model\Payment; use SilverStripe\Core\Injector\Injector; use SilverStripe\Omnipay\Tests\Extensions\PaymentTestServiceExtensionHooks; use SilverStripe\Omnipay\Model\Message; class CreateCardServiceTest extends BasePurchaseServiceTest { protected $completeStatus = 'CardCreated'; protected $pendingStatus = 'PendingCreateCard'; protected $omnipayMethod = 'createCard'; protected $omnipayCompleteMethod = 'completeCreateCard'; protected $onsiteSuccessMessages = array( array('ClassName' => Message\CreateCardRequest::class), array('ClassName' => Message\CreateCardResponse::class) ); protected $onsiteFailMessages = array( array('ClassName' => Message\CreateCardRequest::class), array('ClassName' => Message\CreateCardError::class) ); protected $failMessages = array( array('ClassName' => Message\CreateCardError::class) ); protected $offsiteSuccessMessages = array( array('ClassName' => Message\CreateCardRequest::class), array('ClassName' => Message\CreateCardRedirectResponse::class), array('ClassName' => Message\CompleteCreateCardRequest::class), array('ClassName' => Message\CreateCardResponse::class) ); protected $offsiteFailMessages = array( array('ClassName' => Message\CreateCardResponse::class), array('ClassName' => Message\CompleteCreateCardRequest::class), array('ClassName' => Message\CompleteCreateCardError::class) ); protected $failureMessageClass = Message\CompleteCreateCardError::class; protected $paymentId = '18f2fcac2b8f7549fd0295b251d9e9db'; protected $successPaymentExtensionHooks = array( 'onCardCreated' ); protected $notifyPaymentExtensionHooks = array( 'onAwaitingCreateCard' ); protected $initiateServiceExtensionHooks = array( 'onBeforeCreateCard', 'onAfterCreateCard', 'onAfterSendCreateCard', 'updateServiceResponse' ); protected $initiateFailedServiceExtensionHooks = array( 'onBeforeCreateCard', 'onAfterCreateCard', 'updateServiceResponse' ); protected $completeServiceExtensionHooks = array( 'onBeforeCompleteCreateCard', 'onAfterCompleteCreateCard', 'updateServiceResponse' ); public function setUp() { parent::setUp(); CreateCardService::add_extension(PaymentTestServiceExtensionHooks::class); } public function tearDown() { parent::tearDown(); CreateCardService::remove_extension(PaymentTestServiceExtensionHooks::class); } protected function getService(Payment $payment) { return CreateCardService::create($payment); } public function testDummyOnSitePayment() { $stubGateway = $this->buildDummyGatewayMock(true); Injector::inst()->registerService($this->stubGatewayFactory($stubGateway), 'Omnipay\Common\GatewayFactory'); parent::testDummyOnSitePayment(); } public function testFailedDummyOnSitePayment() { $stubGateway = $this->buildDummyGatewayMock(false); Injector::inst()->registerService($this->stubGatewayFactory($stubGateway), 'Omnipay\Common\GatewayFactory'); parent::testFailedDummyOnSitePayment(); } protected function buildDummyGatewayMock($successValue) { //-------------------------------------------------------------------------------------------------------------- // Payment request and response $mockPaymentResponse = $this ->getMockBuilder('Omnipay\Dummy\Message\Response') ->disableOriginalConstructor() ->setMethods(['isSuccessful']) ->getMock(); $mockPaymentResponse ->expects($this->any()) ->method('isSuccessful') ->will($this->returnValue($successValue)); $mockPaymentRequest = $this ->getMockBuilder('Omnipay\Dummy\Message\AbstractRequest') ->setMethods(['send']) ->getMock(); $mockPaymentRequest ->expects($this->any()) ->method('send') ->will($this->returnValue($mockPaymentResponse)); //-------------------------------------------------------------------------------------------------------------- // Build the gateway $stubGateway = $this ->getMockBuilder('Omnipay\Common\AbstractGateway') ->setMethods(array('createCard', 'getName')) ->getMock(); $stubGateway->expects($this->once()) ->method('createCard') ->will($this->returnValue($mockPaymentRequest)); return $stubGateway; } } |