public function PluginTestBase::testQueueCountBehavior in Purge 8.3
Test the queue counter by deleting items and emptying the queue.
File
- tests/
src/ Kernel/ Queue/ PluginTestBase.php, line 86
Class
- PluginTestBase
- Provides a abstract test class to aid thorough tests for queue plugins.
Namespace
Drupal\Tests\purge\Kernel\QueueCode
public function testQueueCountBehavior() : void {
$this
->assertNull($this->queue
->deleteQueue());
$this
->assertSame(TRUE, is_int($this->queue
->numberOfItems()));
$this
->assertEquals(0, $this->queue
->numberOfItems());
for ($i = 1; $i <= 5; $i++) {
$id = $this->queue
->createItem($i);
$this
->assertSame(TRUE, is_scalar($id));
$this
->assertSame(TRUE, $id !== FALSE);
$this
->assertEquals($i, $this->queue
->numberOfItems());
}
$this
->assertSame(TRUE, is_object($this->queue
->claimItem(1)));
$this
->assertSame(TRUE, is_int($this->queue
->numberOfItems()));
$this
->assertEquals(5, $this->queue
->numberOfItems());
$this
->assertNull($this->queue
->deleteQueue());
$this
->assertEquals(0, $this->queue
->numberOfItems());
for ($i = 1; $i <= 10; $i++) {
$this->queue
->createItem($i);
}
for ($i = 10; $i > 5; $i--) {
$claim = $this->queue
->claimItem();
$this
->assertNull($this->queue
->deleteItem($claim));
$this
->assertEquals($i - 1, $this->queue
->numberOfItems());
}
$claims = $this->queue
->claimItemMultiple(5);
$this->queue
->deleteItemMultiple($claims);
$this
->assertEquals(0, $this->queue
->numberOfItems());
$this->queue
->deleteQueue();
}