* @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() ) ); } }