Updates per feedback.

This commit is contained in:
Timmy Crawford 2021-01-22 17:22:38 -08:00
parent 47a3d1bfb3
commit c7a19b538a
2 changed files with 18 additions and 3 deletions

View File

@ -113,7 +113,7 @@ class WC_Tracker {
*
* @return array
*/
public static function get_tracking_data() {
private static function get_tracking_data() {
$data = array();
// General site info.

View File

@ -21,7 +21,16 @@ class WC_Tracker_Test extends \WC_Unit_Test_Case {
* Test the tracking of wc_admin being disabled via filter.
*/
public function test_wc_admin_disabled_get_tracking_data() {
$tracking_data = WC_Tracker::get_tracking_data();
$posted_data = null;
add_filter(
'pre_http_request',
function( $pre, $args, $url ) use ( &$posted_data ) {
$posted_data = $args;
return true;
}, 3, 10
);
WC_Tracker::send_tracking_data( true );
$tracking_data = json_decode( $posted_data['body'], true );
// Test the default case of no filter for set for woocommerce_admin_disabled.
$this->assertArrayHasKey( 'wc_admin_disabled', $tracking_data );
@ -30,7 +39,13 @@ class WC_Tracker_Test extends \WC_Unit_Test_Case {
// Test the case for woocommerce_admin_disabled filter returning true.
add_filter( 'wc_admin_disabled', $this->disable_woocommerce_admin() );
$tracking_data_disabled_wc_admin = WC_Tracker::get_tracking_data();
// Bypass the 1h cooldown period so we can invoke send_tracking_data again.
add_filter(
'woocommerce_tracker_last_send_time',
function( $time ) { return $time - 10000; }
);
WC_Tracker::send_tracking_data( true );
$tracking_data_disabled_wc_admin = json_decode( $posted_data['body'], true );
$this->assertArrayHasKey( 'wc_admin_disabled', $tracking_data_disabled_wc_admin );
$this->assertEquals( 'yes', $tracking_data['wc_admin_disabled'] );
remove_filter( 'wc_admin_disabled', $this->disable_woocommerce_admin() );