reinit(); } else { $GLOBALS['wp_roles'] = null; // WPCS: override ok. wp_roles(); } echo esc_html( 'Loaded WooCommerce Gutenberg Products Block plugin' . PHP_EOL ); } /** * Adds WooCommerce testing framework classes. */ function wgpb_test_includes() { $wc_tests_framework_base_dir = wc_dir() . '/tests/'; // WooCommerce test classes. // Framework. require_once $wc_tests_framework_base_dir . '/framework/class-wc-unit-test-factory.php'; require_once $wc_tests_framework_base_dir . '/framework/class-wc-mock-session-handler.php'; require_once $wc_tests_framework_base_dir . '/framework/class-wc-mock-wc-data.php'; require_once $wc_tests_framework_base_dir . '/framework/class-wc-mock-wc-object-query.php'; require_once $wc_tests_framework_base_dir . '/framework/class-wc-mock-payment-gateway.php'; require_once $wc_tests_framework_base_dir . '/framework/class-wc-payment-token-stub.php'; require_once $wc_tests_framework_base_dir . '/framework/vendor/class-wp-test-spy-rest-server.php'; // Test cases. require_once $wc_tests_framework_base_dir . '/includes/wp-http-testcase.php'; require_once $wc_tests_framework_base_dir . '/framework/class-wc-unit-test-case.php'; require_once $wc_tests_framework_base_dir . '/framework/class-wc-api-unit-test-case.php'; require_once $wc_tests_framework_base_dir . '/framework/class-wc-rest-unit-test-case.php'; // Helpers. require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-product.php'; require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-coupon.php'; require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-fee.php'; require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-shipping.php'; require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-customer.php'; require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-order.php'; require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-shipping-zones.php'; require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-payment-token.php'; require_once $wc_tests_framework_base_dir . '/framework/helpers/class-wc-helper-settings.php'; } /** * Manually load the plugin being tested. */ function _manually_load_plugin() { echo esc_html( 'Loading WooCommerce' . PHP_EOL ); define( 'WC_TAX_ROUNDING_MODE', 'auto' ); define( 'WC_USE_TRANSACTIONS', false ); require_once wc_dir() . '/woocommerce.php'; echo esc_html( 'Installing WooCommerce Gutenberg Products Block plugin' . PHP_EOL ); wgpb_admin_install(); } tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' ); // Start up the WP testing environment. require $_tests_dir . '/includes/bootstrap.php'; wgpb_test_includes();