/** * @test */ public function shouldAllowCreatePaymentWithStandardActionsAdded() { $apiMock = $this->createApiMock(); $payment = PaymentFactory::create($apiMock); $this->assertInstanceOf('Payum\\Core\\Payment', $payment); $this->assertAttributeCount(1, 'apis', $payment); $actions = $this->readAttribute($payment, 'actions'); $this->assertInternalType('array', $actions); $this->assertNotEmpty($actions); }
/** * @test * * @expectedException \Payum\Core\Exception\LogicException * @expectedExceptionMessage The username, password, signature fields are required. */ public function shouldThrowIfRequiredOptionsNotPassed() { $factory = new PaymentFactory(); $factory->create(); }
/** * @test * * @depends createBillingAgrement */ public function createRecurringPaymnt($captureBillingAgreement) { $payment = PaymentFactory::create(new Api(new Curl(), array('username' => 'a_username', 'password' => 'a_pasword', 'signature' => 'a_signature', 'sandbox' => true))); //@testo:start //@testo:source //@testo:uncomment:use Payum\Paypal\ExpressCheckout\Nvp\Api; //@testo:uncomment:use Payum\Paypal\ExpressCheckout\Nvp\Request\Api\CreateRecurringPaymentProfileRequest; //@testo:uncomment:use Payum\Core\Request\SyncRequest; $billingAgreementDetails = $captureBillingAgreement->getModel(); $recurringPaymentDetails = new \ArrayObject(array('TOKEN' => $billingAgreementDetails['TOKEN'], 'PROFILESTARTDATE' => date(DATE_ATOM), 'DESC' => $billingAgreementDetails['L_BILLINGAGREEMENTDESCRIPTION0'], 'AMT' => 1.45, 'CURRENCYCODE' => 'USD', 'BILLINGPERIOD' => Api::BILLINGPERIOD_DAY, 'BILLINGFREQUENCY' => 2)); //@testo:end $recurringPaymentDetails['PROFILEID'] = 'aProfileid'; //@testo:start $payment->execute(new CreateRecurringPaymentProfileRequest($recurringPaymentDetails)); $payment->execute(new SyncRequest($recurringPaymentDetails)); $recurringPaymentStatus = new BinaryMaskStatusRequest($recurringPaymentDetails); $payment->execute($recurringPaymentStatus); if ($recurringPaymentStatus->isSuccess()) { //@testo:uncomment:echo 'We are done'; } //@testo:uncomment:echo "Hmm. We are not. Let's check other possible statuses!"; //@testo:end $this->assertTrue($recurringPaymentStatus->isFailed()); }