true ); } public function test_nothing_missing_without_the_integrations(): void { $this->assertSame( array(), TMDO_Compatibility::missing_integration_addons() ); $this->assertSame( 'good', TMDO_Site_Health::check_missing_integration_addons()['status'] ); $this->assertArrayHasKey( 'wpdo_missing_integration_addons', TMDO_Site_Health::register_tests( array() )['direct'] ); ob_start(); TMDO_Missing_Addons_Notice::render(); $this->assertSame( '', ob_get_clean() ); } /** * @runInSeparateProcess * @preserveGlobalState disabled */ public function test_hivepress_without_its_addon_is_reported(): void { eval( 'namespace HivePress; class Core {}' ); $this->assertSame( array( 'HivePress' => '2meet-data-optimizer-hivepress-addon' ), TMDO_Compatibility::missing_integration_addons() ); $result = TMDO_Site_Health::check_missing_integration_addons(); $this->assertSame( 'recommended', $result['status'] ); $this->assertStringContainsString( '2meet-data-optimizer-hivepress-addon', $result['description'] ); ob_start(); TMDO_Missing_Addons_Notice::render(); $this->assertStringContainsString( '2meet-data-optimizer-hivepress-addon', (string) ob_get_clean() ); } /** * @runInSeparateProcess * @preserveGlobalState disabled */ public function test_hivepress_with_its_addon_is_fine(): void { eval( 'namespace HivePress; class Core {}' ); eval( 'final class TMDO_HP_Bootstrap {}' ); $this->assertSame( array(), TMDO_Compatibility::missing_integration_addons() ); } /** * @runInSeparateProcess * @preserveGlobalState disabled */ public function test_woocommerce_without_its_addon_is_reported(): void { eval( 'class WooCommerce {}' ); $this->assertSame( array( 'WooCommerce' => '2meet-data-optimizer-woocommerce-addon' ), TMDO_Compatibility::missing_integration_addons() ); } /** * @runInSeparateProcess * @preserveGlobalState disabled */ public function test_notice_is_for_administrators_only(): void { eval( 'class WooCommerce {}' ); $GLOBALS['_wp_current_user_can'] = array(); ob_start(); TMDO_Missing_Addons_Notice::render(); $this->assertSame( '', ob_get_clean() ); } }