You are here

public function TxBufferTest::testDelete in Purge 8.3

Tests \Drupal\purge\Plugin\Purge\Queue\TxBuffer::delete.

File

tests/src/Kernel/Queue/TxBufferTest.php, line 68

Class

TxBufferTest
Tests \Drupal\purge\Tests\Queue\TxBufferTest.

Namespace

Drupal\Tests\purge\Kernel\Queue

Code

public function testDelete() : void {
  $objects = $this
    ->getInvalidations(5);
  $this->purgeQueueTxbuffer
    ->set($objects, TxBufferInterface::CLAIMED);

  // Test that deleting foreign objects, doesn't affect the buffer at all.
  $this->purgeQueueTxbuffer
    ->delete($this
    ->getInvalidations(1));
  $this
    ->assertEquals(5, count($this->purgeQueueTxbuffer));
  $this->purgeQueueTxbuffer
    ->delete($this
    ->getInvalidations(2));
  $this
    ->assertEquals(5, count($this->purgeQueueTxbuffer));

  // Now assert that deleting those we added earlier, does affect the buffer.
  $this->purgeQueueTxbuffer
    ->delete(array_pop($objects));
  $this
    ->assertEquals(4, count($this->purgeQueueTxbuffer));
  $this->purgeQueueTxbuffer
    ->delete($objects);
  $this
    ->assertEquals(0, count($this->purgeQueueTxbuffer));
}