diff --git a/CHANGELOG.md b/CHANGELOG.md index 38142e24e56dd352f3327c073390210e98322a9e..2d20b79cf5b1434ac08ae388a9b5145b7fe4b52c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ -## [3.1.1] - 2019-11-14 -### Feature +## [3.2.1] - 2019-11-15 +### Fixed +- Fixed plugin version notice +- Fixed required plugin name display in admin notices + +## [3.2.0] - 2019-11-14 +### Added - Minimum required plugin version notice ## [3.1.0] - 2019-11-13 diff --git a/src/Basic_Requirement_Checker_Factory.php b/src/Basic_Requirement_Checker_Factory.php index 197b41c0d5f146aceeff4b167cef115ac748512f..1cb33350d646158c12035ff8c0cd367fb3bc6dca 100644 --- a/src/Basic_Requirement_Checker_Factory.php +++ b/src/Basic_Requirement_Checker_Factory.php @@ -42,14 +42,15 @@ $requirements_checker = new WPDesk_Basic_Requirement_Checker_With_Update_Disable( $plugin_file, $plugin_name, - $text_domain, + $text_domain, $requirements['php'], $requirements['wp'] ); if ( isset( $requirements['plugins'] ) ) { foreach ( $requirements['plugins'] as $requirement ) { - $requirements_checker->add_plugin_require( $requirement['name'], $requirement['nice_name'], $requirement['version'] ); + $version = isset( $requirement['version'] ) ? $requirement['version'] : null; + $requirements_checker->add_plugin_require( $requirement['name'], $requirement['nice_name'], $version ); } $requirements_checker->transient_delete_on_plugin_version_changed(); diff --git a/tests/unit/Test_Basic_Requirement_Checker_Factory.php b/tests/unit/Test_Basic_Requirement_Checker_Factory.php index 7d8c9642830487b8b54b6ca3f17afe08eca92a6e..d7f6183ca953a20be1b400136b9e5df7025da4d9 100644 --- a/tests/unit/Test_Basic_Requirement_Checker_Factory.php +++ b/tests/unit/Test_Basic_Requirement_Checker_Factory.php @@ -1,51 +1,51 @@ <?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', - 'version' => '1.0' + + + 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', + 'version' => '1.0' + ), ), - ), - 'repo_plugins' => array( - array( - 'name' => 'flexible-checkout-fields/flexible-checkout-fields.php', - 'version' => '1.0', - 'nice_name' => 'Flexible Checkout Fields', + '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(); + ); + + 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(); + } } -}