Вход Регистрация
Файл: Main Website Files/assets/libraries/stripe-php-2.2.0/tests/AccountTest.php
Строк: 290
<?php

namespace Stripe;

class 
AccountTest extends TestCase
{
    private function 
managedAccountResponse($id)
    {
        return array(
            
'id' => $id,
            
'currencies_supported' => array('usd''aed''afn''...'),
            
'object' => 'account',
            
'business_name' => 'Stripe.com',
            
'bank_accounts' => array(
                
'object' => 'list',
                
'total_count' => 0,
                
'has_more' => false,
                
'url' => '/v1/accounts/' $id '/bank_accounts',
                
'data' => array()
            ),
            
'verification' => array(
                
'fields_needed' => array(
                    
'product_description',
                    
'business_url',
                    
'support_phone',
                    
'bank_account',
                    
'tos_acceptance.ip',
                    
'tos_acceptance.date'
                
),
                
'due_by' => null,
                
'contacted' => false
            
),
            
'tos_acceptance' => array(
                
'ip' => null,
                
'date' => null,
                
'user_agent' => null
            
),
            
'legal_entity' => array(
                
'type' => null,
                
'business_name' => null,
                
'address' => array(
                    
'line1' => null,
                    
'line2' => null,
                    
'city' => null,
                    
'state' => null,
                    
'postal_code' => null,
                    
'country' => 'US'
                
),
                
'first_name' => null,
                
'last_name' => null,
                
'additional_owners' => null,
                
'verification' => array(
                    
'status' => 'unverified',
                    
'document' => null,
                    
'details' => null
                
)
            )
        );
    }

    public function 
testBasicRetrieve()
    {
        
$this->mockRequest('GET''/v1/account', array(), $this->managedAccountResponse('acct_ABC'));
        
$account Account::retrieve();
        
$this->assertSame($account->id'acct_ABC');
    }

    public function 
testIDRetrieve()
    {
        
$this->mockRequest('GET''/v1/accounts/acct_DEF', array(), $this->managedAccountResponse('acct_DEF'));
        
$account Account::retrieve('acct_DEF');
        
$this->assertSame($account->id'acct_DEF');
    }

    public function 
testCreate()
    {
        
$this->mockRequest(
            
'POST',
            
'/v1/accounts',
            array(
'managed' => 'true'),
            
$this->managedAccountResponse('acct_ABC')
        );
        
$account Account::create(array(
            
'managed' => true
        
));
        
$this->assertSame($account->id'acct_ABC');
    }

    public function 
testUpdateLegalEntity()
    {
        
$response $this->managedAccountResponse('acct_ABC');
        
$this->mockRequest('POST''/v1/accounts', array('managed' => 'true'), $response);

        
$response['legal_entity']['first_name'] = 'Bob';
        
$this->mockRequest(
            
'POST',
            
'/v1/accounts/acct_ABC',
            array(
'legal_entity' => array('first_name' => 'Bob')),
            
$response
        
);

        
$account Account::create(array('managed' => true));
        
$account->legal_entity->first_name 'Bob';
        
$account->save();

        
$this->assertSame('Bob'$account->legal_entity->first_name);
    }

    public function 
testUpdateAdditionalOwners()
    {
        
$response $this->managedAccountResponse('acct_ABC');
        
$this->mockRequest('POST''/v1/accounts', array('managed' => 'true'), $response);

        
$response['legal_entity']['additional_owners'] = array(array(
            
'first_name' => 'Bob',
            
'last_name' => null,
            
'address' => array(
                
'line1' => null,
                
'line2' => null,
                
'city' => null,
                
'state' => null,
                
'postal_code' => null,
                
'country' => null
            
),
            
'verification' => array(
                
'status' => 'unverified',
                
'document' => null,
                
'details' => null
            
)
        ));

        
$this->mockRequest(
            
'POST',
            
'/v1/accounts/acct_ABC',
            array(
'legal_entity' => array('additional_owners' => array(array('first_name' => 'Bob')))),
            
$response
        
);

        
$response['legal_entity']['additional_owners'][0]['last_name'] = 'Smith';
        
$this->mockRequest(
            
'POST',
            
'/v1/accounts/acct_ABC',
            array(
'legal_entity' => array('additional_owners' => array(array('last_name' => 'Smith')))),
            
$response
        
);

        
$response['legal_entity']['additional_owners'][0]['last_name'] = 'Johnson';
        
$this->mockRequest(
            
'POST',
            
'/v1/accounts/acct_ABC',
            array(
'legal_entity' => array('additional_owners' => array(array('last_name' => 'Johnson')))),
            
$response
        
);

        
$response['legal_entity']['additional_owners'][0]['verification']['document'] = 'file_123';
        
$this->mockRequest(
            
'POST',
            
'/v1/accounts/acct_ABC',
            array(
'legal_entity' => array('additional_owners' => array(array('verification' => array('document' => 'file_123'))))),
            
$response
        
);

        
$response['legal_entity']['additional_owners'][1] = array(
            
'first_name' => 'Jane',
            
'last_name' => 'Doe'
        
);
        
$this->mockRequest(
            
'POST',
            
'/v1/accounts/acct_ABC',
            array(
'legal_entity' => array('additional_owners' => array(=> array('first_name' => 'Jane')))),
            
$response
        
);

        
$account Account::create(array('managed' => true));
        
$account->legal_entity->additional_owners = array(array('first_name' => 'Bob'));
        
$account->save();
        
$this->assertSame(1count($account->legal_entity->additional_owners));
        
$this->assertSame('Bob'$account->legal_entity->additional_owners[0]->first_name);

        
$account->legal_entity->additional_owners[0]->last_name 'Smith';
        
$account->save();
        
$this->assertSame(1count($account->legal_entity->additional_owners));
        
$this->assertSame('Smith'$account->legal_entity->additional_owners[0]->last_name);

        
$account['legal_entity']['additional_owners'][0]['last_name'] = 'Johnson';
        
$account->save();
        
$this->assertSame(1count($account->legal_entity->additional_owners));
        
$this->assertSame('Johnson'$account->legal_entity->additional_owners[0]->last_name);

        
$account->legal_entity->additional_owners[0]->verification->document 'file_123';
        
$account->save();
        
$this->assertSame('file_123'$account->legal_entity->additional_owners[0]->verification->document);

        
$account->legal_entity->additional_owners[1] = array('first_name' => 'Jane');
        
$account->save();
        
$this->assertSame('Jane'$account->legal_entity->additional_owners[1]->first_name);
    }
}
Онлайн: 0
Реклама