makePartial(); Functions\expect('dbDelta')->once()->with(Mockery::on(static function (string $sql): bool { return str_contains($sql, 'CREATE TABLE wp_lit_mcp_log (') && str_contains($sql, 'client varchar(191)') && str_contains($sql, 'revision_id bigint(20) unsigned DEFAULT NULL') && str_contains($sql, 'snapshot_id varchar(64) DEFAULT NULL') && str_contains($sql, 'PRIMARY KEY (id)'); })); Functions\expect('update_option')->once()->with('lit_mcp_db_version', '1'); (new ChangeLogInstaller(new ChangeLog($db)))->install(); } public function testMaybeInstallSkipsWhenTheVersionIsCurrent(): void { Functions\when('get_option')->justReturn('1'); Functions\expect('dbDelta')->never(); (new ChangeLogInstaller(new ChangeLog(Mockery::mock(\wpdb::class)->makePartial())))->maybeInstall(); } }