You are here

public function TxBufferTest::testSet in Purge 8.3

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

File

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

Class

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

Namespace

Drupal\Tests\purge\Kernel\Queue

Code

public function testSet() : void {
  $objects = $this
    ->getInvalidations(4);

  // Assert that objects get set and become iterable.
  $this->purgeQueueTxbuffer
    ->set($objects, TxBufferInterface::DELETING);
  foreach ($objects as $i) {
    $found = FALSE;
    foreach ($this->purgeQueueTxbuffer as $id => $i) {
      if ($id == $i
        ->getId()) {
        $found = TRUE;
        break;
      }
    }
    $this
      ->assertTrue($found);
  }

  // Assert that object states are correct.
  $this
    ->assertEquals(4, count($this->purgeQueueTxbuffer
    ->getFiltered(TxBufferInterface::DELETING)));
  $this->purgeQueueTxbuffer
    ->set($objects[0], TxBufferInterface::ADDING);
  $this
    ->assertEquals(3, count($this->purgeQueueTxbuffer
    ->getFiltered(TxBufferInterface::DELETING)));
  $this
    ->assertEquals(1, count($this->purgeQueueTxbuffer
    ->getFiltered(TxBufferInterface::ADDING)));
}