PHP 7.4.33
Preview: IdealPaymentTest.php Size: 4.13 KB
/home/godevadmin/www/admin/braintree/final/braintree2/tests/integration/IdealPaymentTest.php

<?php
namespace Test\Integration;

require_once dirname(__DIR__) . '/Setup.php';

use Test;
use Test\Setup;
use Braintree;

class IdealPaymentTest extends Setup
{
    public function testFindIdealPayment()
    {
        $http = new HttpClientApi(Braintree\Configuration::$global);
        $idealPaymentId = Test\Helper::generateValidIdealPaymentId();

        $foundIdealPayment= Braintree\IdealPayment::find($idealPaymentId);
        $this->assertInstanceOf('Braintree\IdealPayment', $foundIdealPayment);
        $this->assertRegExp('/^idealpayment_\w{6,}$/', $foundIdealPayment->id);
        $this->assertRegExp('/^\d{16,}$/', $foundIdealPayment->idealTransactionId);
        $this->assertNotNull($foundIdealPayment->currency);
        $this->assertNotNull($foundIdealPayment->amount);
        $this->assertEquals('COMPLETE', $foundIdealPayment->status);
        $this->assertEquals('ABC123', $foundIdealPayment->orderId);
        $this->assertNotNull($foundIdealPayment->issuer);
        $this->assertRegExp('/^https:\/\//', $foundIdealPayment->approvalUrl);
        $this->assertNotNull($foundIdealPayment->ibanBankAccount->maskedIban);
        $this->assertNotNull($foundIdealPayment->ibanBankAccount->bic);
        $this->assertNotNull($foundIdealPayment->ibanBankAccount->ibanCountry);
        $this->assertNotNull($foundIdealPayment->ibanBankAccount->description);
        $this->assertRegExp('/^\d{4}$/', $foundIdealPayment->ibanBankAccount->ibanAccountNumberLast4);
    }

    public function testFindIdealPayment_throwsIfCannotBeFound()
    {
        $this->setExpectedException('Braintree\Exception\NotFound');
        Braintree\IdealPayment::find(Test\Helper::generateInvalidIdealPaymentId());
    }

    public function testSale_createsASaleUsingId()
    {
        $http = new HttpClientApi(Braintree\Configuration::$global);
        $idealPaymentId = Test\Helper::generateValidIdealPaymentId();

        $result = Braintree\IdealPayment::sale($idealPaymentId, [
            'merchantAccountId' => 'ideal_merchant_account',
            'amount' => '100.00',
            'orderId' => 'ABC123'
        ]);

        $this->assertTrue($result->success);
        $transaction = $result->transaction;
        $this->assertEquals(Braintree\Transaction::SETTLED, $transaction->status);
        $this->assertEquals(Braintree\Transaction::SALE, $transaction->type);
        $this->assertEquals('100.00', $transaction->amount);
        $this->assertRegExp('/^idealpayment_\w{6,}$/', $transaction->idealPayment->idealPaymentId);
        $this->assertRegExp('/^\d{16,}$/', $transaction->idealPayment->idealTransactionId);
        $this->assertRegExp('/^https:\/\//', $transaction->idealPayment->imageUrl);
        $this->assertNotNull($transaction->idealPayment->maskedIban);
        $this->assertNotNull($transaction->idealPayment->bic);
    }

    public function testSale_createsASaleWithNotCompletePayment()
    {
        $http = new HttpClientApi(Braintree\Configuration::$global);
        $idealPaymentId = Test\Helper::generateValidIdealPaymentId('3.00');

        $result = Braintree\IdealPayment::sale($idealPaymentId, [
            'merchantAccountId' => 'ideal_merchant_account',
            'amount' => '3.00',
            'orderId' => 'ABC123'
        ]);

        $this->assertFalse($result->success);
        $baseErrors = $result->errors->forKey('transaction')->onAttribute('paymentMethodNonce');
        $this->assertEquals(Braintree\Error\Codes::TRANSACTION_IDEAL_PAYMENT_NOT_COMPLETE, $baseErrors[0]->code);
    }

    public function testSale_createsASaleUsingInvalidId()
    {
        $http = new HttpClientApi(Braintree\Configuration::$global);

        $result = Braintree\IdealPayment::sale('invalid_id', [
            'merchantAccountId' => 'ideal_merchant_account',
            'amount' => '100.00',
            'orderId' => 'ABC123'
        ]);

        $this->assertFalse($result->success);
        $baseErrors = $result->errors->forKey('transaction')->onAttribute('paymentMethodNonce');
        $this->assertEquals(Braintree\Error\Codes::TRANSACTION_PAYMENT_METHOD_NONCE_UNKNOWN, $baseErrors[0]->code);
    }
}

Directory Contents

Dirs: 2 × Files: 34

Name Size Perms Modified Actions
Error DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
Result DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.97 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
12.84 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
7.04 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
56.07 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
11.20 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.84 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
7.68 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
62.86 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.22 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.09 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.93 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
5.09 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
5.63 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.13 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
6.01 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
29.95 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
10.17 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.35 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
13.75 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.60 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
67.92 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
11.34 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.77 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.51 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.49 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
17.89 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
50.99 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.92 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
5.40 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
65.59 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
173.21 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
12.51 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.28 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
7.06 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).