message_digest-8.x-1.x-dev/tests/src/Kernel/DigestManagerTest.php

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

namespace Drupal\Tests\message_digest\Kernel;

/**
 * Tests for the digest manager.
 *
 * @group message_digest
 *
 * @coversDefaultClass \Drupal\message_digest\DigestManager
 */
class DigestManagerTest extends DigestTestBase {

  /**
   * Tests processing.
   *
   * @covers ::processDigests
   */
  public function testProcessDigests() {
    // Verify last sent time is not set.
    $this->assertEquals(0, $this->container->get('state')->get('message_digest:weekly_last_run', 0));

    $expected = $this->container->get('datetime.time')->getRequestTime();
    $this->container->get('cron')->run();

    // Last run should be set.
    $last_run = $this->container->get('state')->get('message_digest:weekly_last_run', 0);
    $this->assertEquals($expected, $last_run);

    // Update request time.
    $this->container->get('request_stack')->getCurrentRequest()->server->set('REQUEST_TIME', $expected + 60);

    // Run again, the last_run should not be changed until sufficient time has
    // passed.
    $this->container->get('cron')->run();
    $this->assertEquals($expected, $this->container->get('state')->get('message_digest:weekly_last_run', 0));

    // Update request time to more than a week in the future.
    $this->container->get('request_stack')->getCurrentRequest()->server->set('REQUEST_TIME', $expected + 60 * 60 * 24 * 8);
    $expected = $this->container->get('datetime.time')->getRequestTime();
    $this->container->get('cron')->run();
    $this->assertEquals($expected, $this->container->get('state')->get('message_digest:weekly_last_run', 0));
  }

}

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

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