Initial Commit
This commit is contained in:
151
inc/functions/mock.php
Normal file
151
inc/functions/mock.php
Normal file
@ -0,0 +1,151 @@
|
||||
<?php
|
||||
/**
|
||||
* Model Mocking Functions
|
||||
*
|
||||
* @package WP_Ultimo\Functions
|
||||
* @since 2.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
/**
|
||||
* Returns a mock site object.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @param string|int $seed Number used to return different site names and urls.
|
||||
* @return \WP_Ultimo\Models\Site
|
||||
*/
|
||||
function wu_mock_site($seed = false) {
|
||||
|
||||
$atts = apply_filters('wu_mock_site', array(
|
||||
'title' => __('Example Site', 'wp-ultimo'),
|
||||
'description' => __('This is an example of a site description.', 'wp-ultimo'),
|
||||
'domain' => __('examplesite.dev', 'wp-ultimo'),
|
||||
'path' => '/',
|
||||
));
|
||||
|
||||
if ($seed) {
|
||||
|
||||
$atts['title'] .= " {$seed}";
|
||||
$atts['domain'] = str_replace('.dev', "{$seed}.dev", (string) $atts['domain']);
|
||||
|
||||
} // end if;
|
||||
|
||||
return new \WP_Ultimo\Models\Site($atts);
|
||||
|
||||
} // end wu_mock_site;
|
||||
|
||||
/**
|
||||
* Returns a mock membership object.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return \WP_Ultimo\Models\Membership
|
||||
*/
|
||||
function wu_mock_membership() {
|
||||
|
||||
return new \WP_Ultimo\Models\Membership(array(
|
||||
'billing_address' => new \WP_Ultimo\Objects\Billing_Address(array(
|
||||
'company_name' => 'Company Co.',
|
||||
'billing_email' => 'company@co.dev',
|
||||
)),
|
||||
));
|
||||
|
||||
} // end wu_mock_membership;
|
||||
|
||||
/**
|
||||
* Returns a mock product object.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return \WP_Ultimo\Models\Product
|
||||
*/
|
||||
function wu_mock_product() {
|
||||
|
||||
$product = new \WP_Ultimo\Models\Product(array(
|
||||
'name' => __('Test Product', 'wp-ultimo'),
|
||||
));
|
||||
|
||||
$product->_mocked = true;
|
||||
|
||||
return $product;
|
||||
|
||||
} // end wu_mock_product;
|
||||
|
||||
/**
|
||||
* Returns a mock customer object.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return \WP_Ultimo\Models\Customer
|
||||
*/
|
||||
function wu_mock_customer() {
|
||||
|
||||
$customer = new \WP_Ultimo\Models\Customer(array(
|
||||
'billing_address' => new \WP_Ultimo\Objects\Billing_Address(array(
|
||||
'company_name' => 'Company Co.',
|
||||
'billing_email' => 'company@co.dev',
|
||||
)),
|
||||
));
|
||||
|
||||
$customer->_user = (object) array(
|
||||
'data' => (object) array(
|
||||
'ID' => '1',
|
||||
'user_login' => 'mockeduser',
|
||||
'user_pass' => 'passwordhash',
|
||||
'user_nicename' => 'mockeduser',
|
||||
'user_email' => 'mockeduser@dev.dev',
|
||||
'user_url' => 'https://url.com',
|
||||
'user_registered' => '2020-12-31 12:00:00',
|
||||
'user_activation_key' => '',
|
||||
'user_status' => '0',
|
||||
'display_name' => 'John McMocked',
|
||||
'spam' => '0',
|
||||
'deleted' => '0',
|
||||
),
|
||||
);
|
||||
|
||||
return $customer;
|
||||
|
||||
} // end wu_mock_customer;
|
||||
|
||||
/**
|
||||
* Returns a mock payment object.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return \WP_Ultimo\Models\Payment
|
||||
*/
|
||||
function wu_mock_payment() {
|
||||
|
||||
$payment = new \WP_Ultimo\Models\Payment();
|
||||
|
||||
$line_item = new \WP_Ultimo\Checkout\Line_Item(array(
|
||||
'product' => wu_mock_product(),
|
||||
));
|
||||
|
||||
$payment->set_line_items(array(
|
||||
$line_item,
|
||||
));
|
||||
|
||||
return $payment;
|
||||
|
||||
} // end wu_mock_payment;
|
||||
|
||||
/**
|
||||
* Returns a mock domain object.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return \WP_Ultimo\Models\Payment
|
||||
*/
|
||||
function wu_mock_domain() {
|
||||
|
||||
$domain = new \WP_Ultimo\Models\Domain(array(
|
||||
'blog_id' => 1,
|
||||
'domain' => 'example.com',
|
||||
'active' => true,
|
||||
'primary_domain' => true,
|
||||
'secure' => true,
|
||||
'stage' => 'checking-dns',
|
||||
));
|
||||
|
||||
return $domain;
|
||||
|
||||
} // end wu_mock_domain;
|
Reference in New Issue
Block a user