<?php class Test_Basic_Requirement_Checker_With_Update_Disable extends PHPUnit\Framework\TestCase { const RANDOM_PLUGIN_FILE = 'file'; const RANDOM_PLUGIN_NAME = 'name'; const ALWAYS_VALID_PHP_VERSION = '5.2'; const ALWAYS_VALID_WP_VERSION = '4.0'; const RANDOM_PLUGIN_TEXTDOMAIN = 'text'; public function setUp() { WP_Mock::setUp(); WP_Mock::wpFunction( 'get_bloginfo' ) ->andReturn( self::ALWAYS_VALID_WP_VERSION ); } public function tearDown() { WP_Mock::tearDown(); } public function test_requirements_are_not_met_when_plugin_update() { $checker = new WPDesk_Basic_Requirement_Checker_With_Update_Disable( self::RANDOM_PLUGIN_FILE, self::RANDOM_PLUGIN_NAME, self::RANDOM_PLUGIN_TEXTDOMAIN, self::ALWAYS_VALID_PHP_VERSION, self::ALWAYS_VALID_WP_VERSION ); $this->assertTrue( $checker->are_requirements_met(), 'Initial php and wp version should be met' ); $valid_plugin_name = 'woocommerce/woocommerce.php'; WP_Mock::wpFunction( 'get_option' ) ->withArgs( array( 'active_plugins', array() ) ) ->andReturn( array( $valid_plugin_name ) ); $checker->add_plugin_require( $valid_plugin_name ); $this->assertTrue( $checker->are_requirements_met(), 'Plugin is activated so initial requirements should be met' ); $real_woocommerce_upgrade_url = '/wp-admin/update.php?action=upgrade-plugin&plugin=woocommerce%2Fwoocommerce.php&_wpnonce=263d805825'; $url = parse_url( $real_woocommerce_upgrade_url ); parse_str( $url['query'], $_GET ); $this->assertFalse( $checker->are_requirements_met(), 'Info about upgrade should switch result' ); } }