test: probe generic event creation for The Events Calendar
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
This commit is contained in:
@@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether a The Events Calendar event created only through generic
|
||||||
|
* WordPress APIs (wp_insert_post + post meta) is found by TEC's own queries.
|
||||||
|
*
|
||||||
|
* Usage: wp eval-file tests/Integration/tec-probe.php
|
||||||
|
*
|
||||||
|
* No strict_types: PHP forbids declare(strict_types) inside eval(), which wp eval-file uses.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (! class_exists('Tribe__Events__Main')) {
|
||||||
|
fwrite(STDERR, "The Events Calendar is not active\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
$start = gmdate('Y-m-d', strtotime('+30 days')) . ' 18:00:00';
|
||||||
|
$end = gmdate('Y-m-d', strtotime('+30 days')) . ' 20:00:00';
|
||||||
|
|
||||||
|
$id = wp_insert_post([
|
||||||
|
'post_type' => 'tribe_events',
|
||||||
|
'post_status' => 'publish',
|
||||||
|
'post_title' => 'LIT Probe Event (wegwerfen)',
|
||||||
|
]);
|
||||||
|
update_post_meta($id, '_EventStartDate', $start);
|
||||||
|
update_post_meta($id, '_EventEndDate', $end);
|
||||||
|
|
||||||
|
$derived = [];
|
||||||
|
foreach (['_EventStartDateUTC', '_EventEndDateUTC', '_EventDuration', '_EventTimezone'] as $key) {
|
||||||
|
$derived[$key] = get_post_meta($id, $key, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$found = tribe_get_events([
|
||||||
|
'start_date' => gmdate('Y-m-d', strtotime('+29 days')),
|
||||||
|
'end_date' => gmdate('Y-m-d', strtotime('+31 days')),
|
||||||
|
'fields' => 'ids',
|
||||||
|
]);
|
||||||
|
|
||||||
|
echo wp_json_encode([
|
||||||
|
'event_id' => $id,
|
||||||
|
'found_by_tribe_get_events' => in_array($id, (array) $found, true),
|
||||||
|
'derived_meta' => $derived,
|
||||||
|
], JSON_PRETTY_PRINT) . "\n";
|
||||||
|
|
||||||
|
wp_delete_post($id, true);
|
||||||
Reference in New Issue
Block a user