f763c49a514492df2aecf03c34fcc23060db78a9
[yaffs-website] / web / core / modules / datetime / tests / src / Kernel / Views / DateTimeSchemaTest.php
1 <?php
2
3 namespace Drupal\Tests\datetime\Kernel\Views;
4
5 use Drupal\Tests\SchemaCheckTestTrait;
6 use Drupal\views\Views;
7
8 /**
9  * Tests the Drupal\datetime\Plugin\views schemas.
10  *
11  * @group datetime
12  */
13 class DateTimeSchemaTest extends DateTimeHandlerTestBase {
14
15   use SchemaCheckTestTrait;
16
17   /**
18    * {@inheritdoc}
19    */
20   public static $testViews = ['test_argument_datetime', 'test_filter_datetime', 'test_sort_datetime'];
21
22   /**
23    * Test argument plugin schema.
24    */
25   public function testDateTimeSchema() {
26     // Test argument schema.
27     $view = Views::getView('test_argument_datetime');
28     $view->initHandlers();
29     $view->setDisplay('default');
30     $arguments = $view->displayHandlers->get('default')->getOption('arguments');
31     $arguments['field_date_value_year']['date'] = 'Date';
32     $view->displayHandlers->get('default')->overrideOption('arguments', $arguments);
33     $view->save();
34     $this->assertConfigSchemaByName('views.view.test_argument_datetime');
35
36     // Test filter schema.
37     $view = Views::getView('test_filter_datetime');
38     $view->initHandlers();
39     $filters = $view->displayHandlers->get('default')->getOption('filters');
40     $filters['field_date_value']['type'] = 'Date';
41     $view->save();
42     $this->assertConfigSchemaByName('views.view.test_filter_datetime');
43
44     // Test sort schema.
45     $view = Views::getView('test_sort_datetime');
46     $view->initHandlers();
47     $sorts = $view->displayHandlers->get('default')->getOption('sorts');
48     $this->assertNotEmpty($sorts['field_date_value']['granularity']);
49     $this->assertConfigSchemaByName('views.view.test_sort_datetime');
50   }
51
52 }