1
0
mirror of synced 2025-01-18 08:51:41 +03:00
woocommerce-module/tests/test-wc-retailcrm-cart.php
2023-03-29 14:14:08 +03:00

91 lines
2.7 KiB
PHP

<?php
use datasets\DataCartRetailCrm;
/**
* PHP version 7.0
*
* Class WC_Retailcrm_Cart_Test
*
* @category Integration
* @author RetailCRM <integration@retailcrm.ru>
* @license http://retailcrm.ru Proprietary
* @link http://retailcrm.ru
* @see http://help.retailcrm.ru
*/
class WC_Retailcrm_Cart_Test extends WC_Retailcrm_Test_Case_Helper
{
protected $cart;
protected $apiMock;
protected $responseMock;
public function setUp()
{
$this->responseMock = $this->getMockBuilder('\WC_Retailcrm_Response_Helper')
->disableOriginalConstructor()
->setMethods(['isSuccessful'])
->getMock();
$this->apiMock = $this->getMockBuilder('\WC_Retailcrm_Client_V5')
->disableOriginalConstructor()
->setMethods(['cartGet', 'cartSet', 'cartClear'])
->getMock();
$this->responseMock->setResponse(['success' => true, ]);
$this->setMockResponse($this->responseMock, 'isSuccessful', true);
$this->setMockResponse($this->apiMock, 'cartGet', ['cart' => ['externalId' => 1]]);
$this->setMockResponse($this->apiMock, 'cartSet', $this->responseMock);
$this->setMockResponse($this->apiMock, 'cartClear', $this->responseMock);
$this->cart = new WC_Retailcrm_Cart($this->apiMock);
}
public function testApiGetCart()
{
$this->responseMock->setResponse(DataCartRetailCrm::dataGetCart());
$response = $this->apiMock->cartGet(1, 'test-site');
$this->assertNotEmpty($response['cart']);
$this->assertNotEmpty($response['cart']['externalId']);
$this->assertEquals(1, $response['cart']['externalId']);
}
public function testApiSetCart()
{
$response = $this->apiMock->cartSet(DataCartRetailCrm::dataSetCart(), 'test-site');
$this->assertNotEmpty($response['success']);
$this->assertTrue($response['success']);
}
public function testApiClearCart()
{
$response = $this->apiMock->cartClear(DataCartRetailCrm::dataClearCart(), 'test-site');
$this->assertNotEmpty($response['success']);
$this->assertTrue($response['success']);
}
public function testSetCart()
{
$wcCart = new WC_Cart();
$product = WC_Helper_Product::create_simple_product();
$customerId = wc_create_new_customer('mail_test@mail.es', 'test');
$wcCart->add_to_cart($product->get_id(), 1, 0, [], []);
$this->assertTrue($this->cart->processCart($customerId, $wcCart->get_cart(), 'woo', true));
}
public function testGetCart()
{
$this->assertTrue($this->cart->isCartExist(1, 'woo'));
}
public function testClearCart()
{
$this->assertTrue($this->cart->clearCart(1, 'woo', true));
}
}