Files
wpdev 0254e40d83
Tests / PHP Lint (pull_request) Successful in 50s
Tests / Unit Tests (pull_request) Successful in 58s
Tests / Integration Tests (pull_request) Successful in 57s
refactor(2meet-data-optimizer-hivepress-addon): stop registering Hot zone fields
- ADR-003 step 4 (AddOn side): core, requests, bookings, memberships and
  marketplace adapters no longer register zone=hot fields or contribute
  hot_* FSM modules; their keys live in TMDO_HivePress_Entity_Groups.
  Cold/warm registrations are unchanged.
- Hot-table doctor probes go with them (trait defaults apply). The
  hot-clause query rewrite and cron optimizer are now inert and are left
  for the ADR step-5 removal together with core's hot path.
- New NoHotZoneRegistrationTest pins the invariant across all 13 adapters;
  per-adapter hot assertions removed.
- Verify: HP unit 142 / integration 49 green, phpcs clean (WordPress)
- PR: PR-037
2026-09-26 01:13:35 +08:00

60 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
use PHPUnit\Framework\TestCase;
/**
* Tests for WPDO_HivePress_Requests_Adapter.
*
* @covers WPDO_HivePress_Requests_Adapter
*/
class HivePressRequestsAdapterTest extends TestCase {
use WpdbMockTrait;
private WPDO_HivePress_Requests_Adapter $adapter;
protected function setUp(): void {
$this->install_wpdb_mock();
$reflect = new ReflectionClass( WPDO_Schema_Registry::class );
$prop = $reflect->getProperty( 'instance' );
$prop->setAccessible( true );
$prop->setValue( null, null );
WPDO_Custom_Table_Registry::reset_for_tests();
$this->adapter = new WPDO_HivePress_Requests_Adapter();
}
public function test_implements_adapter_interface(): void {
$this->assertInstanceOf( WPDO_HivePress_Adapter::class, $this->adapter );
}
public function test_identity(): void {
$this->assertSame( 'hivepress-requests', $this->adapter->plugin_slug() );
$this->assertSame( 'HivePress\\Requests\\Plugin', $this->adapter->detection_class() );
$this->assertSame( 'hp_offer', WPDO_HivePress_Requests_Adapter::OFFER_COMMENT_TYPE );
}
public function test_registers_no_offer_shadow_table(): void {
// The offer shadow table was never created, so every mirror write failed.
$registry = WPDO_Custom_Table_Registry::instance();
$this->adapter->on_register_custom_tables( $registry );
$this->assertSame( array(), $registry->all() );
}
public function test_binds_no_comment_hooks(): void {
$GLOBALS['_wp_filter_callbacks'] = array();
$this->adapter->on_register_event_hooks();
$this->assertArrayNotHasKey( 'wp_insert_comment', $GLOBALS['_wp_filter_callbacks'] );
$this->assertArrayNotHasKey( 'edit_comment', $GLOBALS['_wp_filter_callbacks'] );
$this->assertArrayNotHasKey( 'deleted_comment', $GLOBALS['_wp_filter_callbacks'] );
}
public function test_score_aggregates_to_perfect_ten(): void {
$this->assertSame( 10.0, $this->adapter->suitability_score()['aggregate'] );
}
}