1
0
mirror of synced 2025-01-19 09:21:43 +03:00
woocommerce-module/tests/helpers/class-wc-retailcrm-test-case-helper.php

133 lines
3.9 KiB
PHP

<?php
/**
* PHP version 7.0
*
* Class WC_Retailcrm_Test_Case_Helper - Helper for testing.
*
* @category Integration
* @author RetailCRM <integration@retailcrm.ru>
* @license http://retailcrm.ru Proprietary
* @link http://retailcrm.ru
* @see http://help.retailcrm.ru
*/
class WC_Retailcrm_Test_Case_Helper extends WC_Unit_Test_Case
{
/**
* @return array
*/
protected function setOptions()
{
$options = [
'api_url' => 'https://example.retailcrm.ru',
'api_key' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1',
'online_assistant' => 'code',
'p_draft' => 'no',
'p_pending' => 'no',
'p_private' => 'no',
'p_publish' => 'no',
'order_methods' => [0 => 'phone'],
'flat_rate_shipping' => 'delivery',
'free_shipping' => 'delivery2',
'local_pickup' => 'delivery3',
'bacs' => 'payment1',
'cheque' => 'payment2',
'cod' => 'payment3',
'paypal' => 'payment4',
'ppec_paypal' => 'payment5',
'pending' => 'status1',
'processing' => 'status2',
'on-hold' => 'status3',
'completed' => 'status4',
'refunded' => 'status5',
'failed' => 'status6',
'cancelled' => 'not-upload',
'sync' => 'yes',
'ua' => 'yes',
'ua_code' => 'UA-XXXXXXX-XX',
'ua_custom' => '1',
'daemon_collector' => 'yes',
'upload-button' => '',
'whatsapp_active' => 'yes',
'whatsapp_location_icon' => 'yes',
'whatsapp_number' => '+79184567234',
'icml' => 'yes',
'corporate_enabled' => 'yes',
'abandoned_carts_enabled' => 'yes',
'single_order' => '123',
'history' => 'yes',
'deactivate_update_order' => 'no',
'bind_by_sku' => 'no',
'update_number' => 'yes',
'debug_mode' => 'yes',
'debug-info' => '',
'order-meta-data-retailcrm' => json_encode(['woo_order' => 'crm_order']),
'customer-meta-data-retailcrm' => json_encode(['woo_customer' => 'crm_customer']),
'product_description' => 'full',
];
update_option(WC_Retailcrm_Base::$option_key, $options);
return $options;
}
/**
* Removes all data from the DB.
*/
protected function deleteAllData()
{
if (function_exists('_delete_all_data')) {
_delete_all_data();
} else {
global $wpdb;
foreach (
[
$wpdb->posts,
$wpdb->postmeta,
$wpdb->comments,
$wpdb->commentmeta,
$wpdb->term_relationships,
$wpdb->termmeta,
] as $table
) {
//phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$wpdb->query("DELETE FROM {$table}");
}
foreach ([$wpdb->terms, $wpdb->term_taxonomy] as $table) {
//phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$wpdb->query("DELETE FROM {$table} WHERE term_id != 1");
}
$wpdb->query("UPDATE {$wpdb->term_taxonomy} SET count = 0");
$wpdb->query("DELETE FROM {$wpdb->users} WHERE ID != 1");
$wpdb->query("DELETE FROM {$wpdb->usermeta} WHERE user_id != 1");
}
}
/**
* @return array
*/
protected function getOptions()
{
return get_option(WC_Retailcrm_Base::$option_key);
}
/**
* @param $mock
* @param $method
* @param $response
*
* @return void
*/
protected function setMockResponse($mock, $method, $response)
{
$mock->expects($this->any())
->method($method)
->willReturn($response);
}
}