xero_sync-8.x-1.x-dev/tests/src/Kernel/AdvancedQueuingTest.php

tests/src/Kernel/AdvancedQueuingTest.php
<?php

namespace Drupal\Tests\xero_sync\Kernel;

use Drupal\advancedqueue\Entity\Queue as AdvancedQueue;
use Drupal\advancedqueue\Job;

/**
 * Tests the job manager service when the advanced queue module is installed.
 *
 * @group xero_sync
 */
class AdvancedQueuingTest extends QueuingTest {

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'user',
    'entity_test',
    'serialization',
    'xero',
    'xero_sync',
    'advancedqueue',
  ];

  /**
   * {@inheritDoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $this->installSchema('advancedqueue', ['advancedqueue']);
  }

  /**
   * Assert a job is present in an advanced queue.
   *
   * @param string $queueId
   *   The queue id.
   * @param array $data
   *   The job data.
   */
  protected function assertQueueItem($queueId, array $data) {
    // Nothing in the ordinary queue.
    $queue = \Drupal::queue($queueId);
    $this->assertEquals(0, $queue->numberOfItems());

    $advancedQueue = AdvancedQueue::load($queueId);
    $backend = $advancedQueue->getBackend();
    $jobCounts = $backend->countJobs();
    $this->assertEquals([Job::STATE_QUEUED => 1], array_filter($jobCounts));
    $payload = $backend->claimJob()->getPayload();
    foreach ($data as $key => $value) {
      $this->assertEquals($payload[$key], $value);
    }
    $this->assertEquals(count($data), count($payload));
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc