PHP 7.4.33
Preview: PaymentMethodTest.php Size: 3.81 KB
/home/godevadmin/www/admin/braintree/final/braintree/tests/unit/PaymentMethodTest.php

<?php
namespace Test\Unit;

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

use Test\Setup;
use Braintree;

class PaymentMethodTest extends Setup
{
    public function testCreate_throwsIfInvalidKey()
    {
        $this->setExpectedException('InvalidArgumentException', 'invalid keys: invalidKey');
        Braintree\PaymentMethod::create(['invalidKey' => 'foo']);
    }

    public function testCreateSignature()
    {
        $expected = [
            'billingAddressId',
            'cardholderName',
            'cvv',
            'deviceData',
            'expirationDate',
            'expirationMonth',
            'expirationYear',
            'number',
            'paymentMethodNonce',
            'token',
            ['options' => [
                'failOnDuplicatePaymentMethod',
                'makeDefault',
                'verificationMerchantAccountId',
                'verifyCard',
                'verificationAmount',
                ['paypal' => [
                    'payee_email',
                    'order_id',
                    'custom_field',
                    'description',
                    'amount',
                ]],
            ]],
            ['billingAddress' => Braintree\AddressGateway::createSignature()],
            'customerId'
        ];
        $this->assertEquals($expected, Braintree\PaymentMethodGateway::createSignature());
    }

    public function testErrorsOnFindWithBlankArgument()
    {
        $this->setExpectedException('InvalidArgumentException');
        Braintree\PaymentMethod::find('');
    }

    public function testErrorsOnFindWithWhitespaceArgument()
    {
        $this->setExpectedException('InvalidArgumentException');
        Braintree\PaymentMethod::find('  ');
    }

    public function testErrorsOnFindWithWhitespaceCharacterArgument()
    {
        $this->setExpectedException('InvalidArgumentException');
        Braintree\PaymentMethod::find('\t');
    }

    public function testDeleteWithRevokeAllGrantsAsTrue()
    {
        $paymentMethodGateway = $this->mockPaymentMethodGatewayDoDelete();
        $expectedURL = "/payment_methods/any/some_token?revoke_all_grants=1";
        $paymentMethodGateway->expects($this->once())->method('_doDelete')->with($this->equalTo($expectedURL));
        $paymentMethodGateway->delete("some_token", ['revokeAllGrants' => true]);
    }

    public function testDeleteWithRevokeAllGrantsAsFalse()
    {
        $paymentMethodGateway = $this->mockPaymentMethodGatewayDoDelete();
        $expectedURL = "/payment_methods/any/some_token?revoke_all_grants=0";
        $paymentMethodGateway->expects($this->once())->method('_doDelete')->with($this->equalTo($expectedURL));
        $paymentMethodGateway->delete("some_token", ['revokeAllGrants' => false]);
    }

    public function testDeleteWithoutRevokeAllGrantsOption()
    {
        $paymentMethodGateway = $this->mockPaymentMethodGatewayDoDelete();
        $expectedURL = "/payment_methods/any/some_token";
        $paymentMethodGateway->expects($this->once())->method('_doDelete')->with($this->equalTo($expectedURL));
        $paymentMethodGateway->delete("some_token");
    }

    public function testDeleteWithInvalidOption()
    {
        $paymentMethodGateway = $this->mockPaymentMethodGatewayDoDelete();
        $this->setExpectedException('InvalidArgumentException');
        $paymentMethodGateway->expects($this->never())->method('_doDelete');
        $paymentMethodGateway->delete("some_token", ['invalidKey' => false]);
    }

    private function mockPaymentMethodGatewayDoDelete()
    {
        return $this->getMockBuilder('Braintree\PaymentMethodGateway')
            ->setConstructorArgs(array(Braintree\Configuration::gateway()))
            ->setMethods(array('_doDelete'))
            ->getMock();
    }
}

Directory Contents

Dirs: 2 × Files: 35

Name Size Perms Modified Actions
ClientApi DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
Result DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
921 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.32 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
726 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
18.29 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
5.10 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
769 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.95 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.57 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
647 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.38 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
962 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.66 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.07 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.09 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.11 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
590 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.49 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.97 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.74 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.81 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.32 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.03 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.98 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
534 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.17 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
528 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.10 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.32 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.04 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
795 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
508 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
7.99 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
26.61 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.04 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
18.76 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download

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