1
0
mirror of synced 2025-01-19 01:11:42 +03:00
woocommerce-module/tests/order/test-wc-retailcrm-order-payment.php
Neur0toxine 804cbfac37
Corporate clients support
* corporate customers support
* skip new payments without type
* extract customer data from order for guests
* extract customer phone and email from order for guests
* set item discount to zero if no discount applies
* create order from back-office
* sync phone via history
* fixed customer squashing
* fixed createdAt crash
* fixed customer id assigning & possible crash after errors in order creation
2020-07-10 13:14:03 +03:00

88 lines
2.1 KiB
PHP

<?php
/**
* PHP version 5.3
*
* @category Integration
* @author RetailCRM <integration@retailcrm.ru>
* @license http://retailcrm.ru Proprietary
* @link http://retailcrm.ru
* @see http://help.retailcrm.ru
*/
class WC_Retailcrm_Order_Payment_Test extends WC_Retailcrm_Test_Case_Helper
{
/** @var WC_Order */
protected $order;
public function setUp()
{
parent::setUp();
$this->order = WC_Helper_Order::create_order();
$this->setOptions();
}
/**
* @param mixed $externalId
*
* @dataProvider dataProvider
*/
public function test_build($externalId)
{
$settings = $this->getOptions();
$settings['send_payment_amount'] = 'no';
$order_payment = new WC_Retailcrm_Order_Payment($settings);
$data = $order_payment->build($this->order, $externalId)->get_data();
$this->assertNotEmpty($data);
if (!empty($externalId)) {
$this->assertArrayHasKey('externalId', $data);
}
$this->assertArrayHasKey('type', $data);
$this->assertArrayNotHasKey('amount', $data);
$this->assertArrayHasKey('order', $data);
}
/**
* @param mixed $externalId
*
* @dataProvider dataProvider
*/
public function test_build_with_amount($externalId)
{
$settings = $this->getOptions();
$settings['send_payment_amount'] = 'yes';
$order_payment = new WC_Retailcrm_Order_Payment($settings);
$data = $order_payment->build($this->order, $externalId)->get_data();
$this->assertNotEmpty($data);
if (!empty($externalId)) {
$this->assertArrayHasKey('externalId', $data);
}
$this->assertArrayHasKey('type', $data);
$this->assertArrayHasKey('amount', $data);
$this->assertArrayHasKey('order', $data);
}
/**
* @return array
*/
public function dataProvider()
{
return array(
array(
'externalId' => false
),
array(
'externalId' => uniqid()
)
);
}
}