reinit(); } else { $GLOBALS['wp_roles'] = null; // WPCS: override ok. wp_roles(); } echo esc_html( 'Installing wc-admin...' . PHP_EOL ); } /** * Adds WooCommerce testing framework classes. */ function wc_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() { if ( version_compare( $GLOBALS['wp_version'], '4.9.9', '<=' ) ) { // < 5.0 fails for "5.0-alpha-12345-src $_tests_wp_core_dir = getenv( 'WP_CORE_DIR' ); if ( ! $_tests_wp_core_dir ) { $_tests_wp_core_dir = rtrim( sys_get_temp_dir(), '/\\' ) . '/wordpress'; } require $_tests_wp_core_dir . '/wp-content/plugins/gutenberg/gutenberg.php'; } define( 'WC_TAX_ROUNDING_MODE', 'auto' ); define( 'WC_USE_TRANSACTIONS', false ); require_once wc_dir() . '/woocommerce.php'; wc_admin_install(); require dirname( dirname( __FILE__ ) ) . '/wc-admin.php'; } tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' ); // Start up the WP testing environment. require $_tests_dir . '/includes/bootstrap.php'; wc_test_includes(); // Include wc-admin helpers. require_once dirname( __FILE__ ) . '/framework/helpers/class-wc-helper-reports.php'; require_once dirname( __FILE__ ) . '/framework/helpers/class-wc-helper-admin-notes.php'; require_once dirname( __FILE__ ) . '/framework/helpers/class-wc-test-action-queue.php'; require_once dirname( __FILE__ ) . '/framework/helpers/class-wc-helper-queue.php';