Select Git revision
Test_Basic_Requirement_Checker_Factory.php
Test_Basic_Requirement_Checker_Factory.php 1.53 KiB
<?php
class Test_Basic_Requirement_Checker_Factory extends PHPUnit\Framework\TestCase {
public function test_can_create_checker_withn_valid_requirements() {
$existing_locale = 'pl_PL';
$requirements = array(
'php' => '5.6',
'wp' => '4.5',
'plugins' => array(
array(
'name' => 'woocommerce/woocommerce.php',
'nice_name' => 'WooCommerce',
),
),
'repo_plugins' => array(
array(
'name' => 'flexible-checkout-fields/flexible-checkout-fields.php',
'version' => '1.0',
'nice_name' => 'Flexible Checkout Fields',
),
),
);
WP_Mock::wpFunction( 'get_locale' )
->andReturn( $existing_locale );
$factory = new WPDesk_Basic_Requirement_Checker_Factory();
$checker = $factory->create_from_requirement_array( 'whatever', 'whatever', $requirements );
WP_Mock::wpFunction( 'get_plugins' )
->andReturn( array() );
WP_Mock::wpFunction( 'get_option' )
->withArgs( array( 'active_plugins', array() ) )
->andReturn( array() );
WP_Mock::passthruFunction( 'self_admin_url' );
WP_Mock::passthruFunction( 'wp_kses' );
WP_Mock::passthruFunction( 'wp_nonce_url' );
WP_Mock::passthruFunction( 'wp_create_nonce' );
WP_Mock::passthruFunction( 'admin_url' );
$this->assertFalse( $checker->are_requirements_met(), '2 plugins required and there should be none activated' );
$this->expectOutputRegex( '/Flexible Checkout Fields/' );
$this->expectOutputRegex( '/WooCommerce/' );
$checker->handle_render_notices_action();
}
}