You are here

protected function FilterDateTest::setUp in Drupal 8

Same name in this branch
  1. 8 core/modules/views/tests/src/Functional/Handler/FilterDateTest.php \Drupal\Tests\views\Functional\Handler\FilterDateTest::setUp()
  2. 8 core/modules/datetime_range/tests/src/Kernel/Views/FilterDateTest.php \Drupal\Tests\datetime_range\Kernel\Views\FilterDateTest::setUp()
  3. 8 core/modules/datetime/tests/src/Functional/Views/FilterDateTest.php \Drupal\Tests\datetime\Functional\Views\FilterDateTest::setUp()
  4. 8 core/modules/datetime/tests/src/Kernel/Views/FilterDateTest.php \Drupal\Tests\datetime\Kernel\Views\FilterDateTest::setUp()
Same name and namespace in other branches
  1. 9 core/modules/datetime/tests/src/Kernel/Views/FilterDateTest.php \Drupal\Tests\datetime\Kernel\Views\FilterDateTest::setUp()
  2. 10 core/modules/datetime/tests/src/Kernel/Views/FilterDateTest.php \Drupal\Tests\datetime\Kernel\Views\FilterDateTest::setUp()

Create nodes with relative dates of yesterday, today, and tomorrow.

Overrides DateTimeHandlerTestBase::setUp

File

core/modules/datetime/tests/src/Kernel/Views/FilterDateTest.php, line 49

Class

FilterDateTest
Tests date-only fields.

Namespace

Drupal\Tests\datetime\Kernel\Views

Code

protected function setUp($import_test_views = TRUE) {
  parent::setUp($import_test_views);

  // Change field storage to date-only.
  $storage = FieldStorageConfig::load('node.' . static::$field_name);
  $storage
    ->setSetting('datetime_type', DateTimeItem::DATETIME_TYPE_DATE);
  $storage
    ->save();

  // Retrieve tomorrow, today and yesterday dates just to create the nodes.
  $timestamp = $this
    ->getUTCEquivalentOfUserNowAsTimestamp();
  $dates = $this
    ->getRelativeDateValuesFromTimestamp($timestamp);

  // Clean the nodes on setUp.
  $this->nodes = [];
  foreach ($dates as $date) {
    $node = Node::create([
      'title' => $this
        ->randomMachineName(8),
      'type' => 'page',
      'field_date' => [
        'value' => $date,
      ],
    ]);
    $node
      ->save();
    $this->nodes[] = $node;
  }

  // Add a node where the date field is empty.
  $node = Node::create([
    'title' => $this
      ->randomMachineName(8),
    'type' => 'page',
    'field_date' => [],
  ]);
  $node
    ->save();
  $this->nodes[] = $node;
}