Mercurial > hg > cmmr2012-drupal-site
diff core/modules/datetime/src/Tests/Views/DateTimeHandlerTestBase.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children | a9cd425dd02b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/datetime/src/Tests/Views/DateTimeHandlerTestBase.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,81 @@ +<?php + +namespace Drupal\datetime\Tests\Views; + +@trigger_error('\Drupal\datetime\Tests\Views\DateTimeHandlerTestBase is deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.0. Instead, use \Drupal\Tests\BrowserTestBase', E_USER_DEPRECATED); + +use Drupal\datetime\Plugin\Field\FieldType\DateTimeItem; +use Drupal\field\Entity\FieldConfig; +use Drupal\node\Entity\NodeType; +use Drupal\views\Tests\Handler\HandlerTestBase; +use Drupal\views\Tests\ViewTestData; +use Drupal\field\Entity\FieldStorageConfig; + +/** + * Base class for testing datetime handlers. + * + * @deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.0. + * Use \Drupal\Tests\BrowserTestBase. + */ +abstract class DateTimeHandlerTestBase extends HandlerTestBase { + + /** + * {@inheritdoc} + */ + public static $modules = ['datetime_test', 'node', 'datetime']; + + /** + * Name of the field. + * + * Note, this is used in the default test view. + * + * @var string + */ + protected static $field_name = 'field_date'; + + /** + * Nodes to test. + * + * @var \Drupal\node\NodeInterface[] + */ + protected $nodes = []; + + /** + * {@inheritdoc} + */ + protected function setUp($import_test_views = TRUE) { + parent::setUp($import_test_views); + + // Add a date field to page nodes. + $node_type = NodeType::create([ + 'type' => 'page', + 'name' => 'page' + ]); + $node_type->save(); + $fieldStorage = FieldStorageConfig::create([ + 'field_name' => static::$field_name, + 'entity_type' => 'node', + 'type' => 'datetime', + 'settings' => ['datetime_type' => DateTimeItem::DATETIME_TYPE_DATETIME], + ]); + $fieldStorage->save(); + $field = FieldConfig::create([ + 'field_storage' => $fieldStorage, + 'bundle' => 'page', + 'required' => TRUE, + ]); + $field->save(); + + // Views needs to be aware of the new field. + $this->container->get('views.views_data')->clear(); + + // Set column map. + $this->map = [ + 'nid' => 'nid', + ]; + + // Load test views. + ViewTestData::createTestViews(get_class($this), ['datetime_test']); + } + +}