Вход Регистрация
Файл: payment/pay/qiwi/sdk/vendor/qiwi/bill-payments-php-sdk/tests/acceptance/BillPaymentsTest.php
Строк: 113
<?php
/**
 * BillPaymentsTest.php
 *
 * @author    Yaroslav <yaroslav@wannabe.pro>
 * @copyright 2019 (c) QIWI JSC
 * @license   MIT https://raw.githubusercontent.com/QIWI-API/bill-payments-php-sdk/master/LICENSE
 */

namespace QiwiApiAcceptance;

use 
QiwiApiTestCase;
use 
QiwiApiBillPayments;

/**
 * Acceptance test case witch real API.
 * Set `tests/config.php` first.
 *
 * @package QiwiApiBillPaymentsTest
 */
class BillPaymentsTest extends TestCase
{


    
/**
     * Requests live cycle 1 - create bill.
     *
     * @see https://developer.qiwi.com/ru/bill-payments/#create
     *
     * @return void
     *
     * @throws QiwiApiBillPaymentsException
     */
    
protected function subTestCreateBill()
    {
        
$bill            $this->billPayments->createBill(
            
$this->billId,
            
$this->fields
        
);
        
$testPayUrlQuery http_build_query(['successUrl' => $this->fields['successUrl']], '''&'PHP_QUERY_RFC3986);
        
$this->assertTrue(is_array($bill) && strpos($bill['payUrl'], $testPayUrlQuery) !== false'create bill');

    }
//end subTestCreateBill()


    /**
     * Requests live cycle 2 - get bill info.
     *
     * @see https://developer.qiwi.com/ru/bill-payments/#invoice-status
     *
     * @return void
     *
     * @throws QiwiApiBillPaymentsException
     */
    
protected function subTestGetBillInfo()
    {
        
$bill       $this->billPayments->getBillInfo($this->billId);
        
$testFields = [
            
'customFields' => [
                
'apiClient'        => CLIENT_NAME,
                
'apiClientVersion' => CLIENT_VERSION,
            ],
        ];
        
$this->assertArraySubset($testFields$bill'returns valid bill info');

    }
//end subTestGetBillInfo()


    /**
     * Requests live cycle 3 - cancel bill.
     *
     * @see https://developer.qiwi.com/ru/bill-payments/#cancel
     *
     * @return void
     *
     * @throws QiwiApiBillPaymentsException
     */
    
protected function subTestCancelBill()
    {
        
$bill $this->billPayments->cancelBill($this->billId);
        
$this->assertTrue(is_array($bill), 'cancel unpaid bill');

    }
//end subTestCancelBill()


    /**
     * Requests life cycle without payment.
     *
     * @return void
     *
     * @throws QiwiApiBillPaymentsException
     */
    
public function testRequests()
    {
        
$this->subTestCreateBill();
        
$this->subTestGetBillInfo();
        
$this->subTestCancelBill();

    }
//end testRequests()


    /**
     * Refund bill.
     *
     * @see https://developer.qiwi.com/ru/bill-payments/#refund
     *
     * @return void
     *
     * @throws QiwiApiBillPaymentsException
     */
    
public function testRefund()
    {
        
$billRefund $this->billPayments->refund(
            
$this->config['billIdForRefundTest'],
            
microtime(),
            
'0.01',
            
'RUB'
        
);
        
$this->assertTrue(is_array($billRefund), 'makes refund');

    }
//end testRefund()


    /**
     * Get refund info.
     *
     * @see https://developer.qiwi.com/ru/bill-payments/#refund-status
     *
     * @return void
     *
     * @throws QiwiApiBillPaymentsException
     */
    
public function testGetRefundInfo()
    {
        
$billRefund $this->billPayments->getRefundInfo(
            
$this->config['billIdForGetRefundInfoTest'],
            
$this->config['billRefundIdForGetRefundInfoTest']
        );
        
$this->assertTrue(is_array($billRefund), 'gets refund info');

    }
//end testGetRefundInfo()


}//end class
Онлайн: 1
Реклама