Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
antiradionic
/
beta
/
wp-content
/
plugins
/
extendify
/
tests
/
Integration
:
CronTest.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Extendify\Tests\Integration; use Extendify\Shared\Services\Import\Post; use WP_UnitTestCase; class CronTest extends WP_UnitTestCase { public function test_cron_executes() { $isLocked = false; $cronUserId = null; $user = self::factory()->user->create(); wp_set_current_user($user); $postId = self::factory()->post->create(['post_content' => '<p>original</p>']); wp_set_post_lock($postId); // Cron runs as no user, so we need to reset the current user to 0 to simulate that. wp_set_current_user(0); add_action('my_cron_hook', function () use ($postId, &$isLocked, &$cronUserId) { $isLocked = wp_check_post_lock($postId); $cronUserId = get_current_user_id(); }); wp_schedule_single_event(time() - 10, 'my_cron_hook'); $crons = _get_cron_array(); foreach ($crons as $timestamp => $hooks) { if ($timestamp > time()) continue; foreach ($hooks as $hook => $events) { foreach ($events as $event) { do_action_ref_array($hook, $event['args']); } } } $this->assertTrue(Post::isLocked($postId)); $this->assertNotFalse(wp_check_post_lock($postId)); $this->assertNotNull($postId); $this->assertIsNumeric($isLocked); $this->assertSame($user, $isLocked); $this->assertSame(0, $cronUserId); } }