diff --git a/core/modules/datetime/tests/src/Functional/Update/DateTimeUpdate8601Test.php b/core/modules/datetime/tests/src/Functional/Update/DateTimeUpdate8601Test.php index 143ea31ebe..640a3a8db4 100644 --- a/core/modules/datetime/tests/src/Functional/Update/DateTimeUpdate8601Test.php +++ b/core/modules/datetime/tests/src/Functional/Update/DateTimeUpdate8601Test.php @@ -20,7 +20,7 @@ class DateTimeUpdate8601Test extends UpdatePathTestBase { */ protected function setDatabaseDumpFiles() { $this->databaseDumpFiles = [ - __DIR__ . '/../../../../../system/tests/fixtures/update/drupal-8.filled.standard.php.gz', + __DIR__ . '/../../../../../datetime/tests/fixtures/update/2716891.php.gz', ]; } @@ -31,12 +31,12 @@ public function testFieldDefinition() { /** @var \Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface $entity_last_installed_schema_repository */ $entity_last_installed_schema_repository = \Drupal::getContainer()->get('entity.last_installed_schema.repository'); $field_definitions = $entity_last_installed_schema_repository->getLastInstalledFieldStorageDefinitions('node'); - $schema = $field_definitions['field_test_3']->getSchema(); + $schema = $field_definitions['field_datetime']->getSchema(); $this->assertEquals(20, $schema['columns']['value']['length']); $this->runUpdates(); - $field_definition = \Drupal::entityDefinitionUpdateManager()->getFieldStorageDefinition('field_test_3', 'node'); + $field_definition = \Drupal::entityDefinitionUpdateManager()->getFieldStorageDefinition('field_datetime', 'node'); $schema = $field_definition->getSchema(); $this->assertEquals(25, $schema['columns']['value']['length']); } @@ -45,44 +45,62 @@ public function testFieldDefinition() { * Test that date-only fields do not get modified. */ public function testDateonly() { - $node = Node::load(8); - $this->assertEquals('2015-08-16', $node->field_test_3); + $value = \Drupal::database()->query('SELECT field_dateonly_value FROM {node__field_dateonly} WHERE entity_id=:nid AND revision_id=:vid', [ + ':nid' => 1, + ':vid' => 1, + ])->fetchField(); + $this->assertEquals('2018-02-14', $value); + + $value = \Drupal::database()->query('SELECT field_dateonly_value FROM {node_revision__field_dateonly} WHERE entity_id=:nid AND revision_id=:vid', [ + ':nid' => 1, + ':vid' => 1, + ])->fetchField(); + $this->assertEquals('2018-02-14', $value); $this->runUpdates(); - $node = Node::load(8); - $this->assertEquals('2015-08-16', $node->field_test_3); + $value = \Drupal::database()->query('SELECT field_dateonly_value FROM {node__field_dateonly} WHERE entity_id=:nid AND revision_id=:vid', [ + ':nid' => 1, + ':vid' => 1, + ])->fetchField(); + $this->assertEquals('2018-02-14', $value); + + $value = \Drupal::database()->query('SELECT field_dateonly_value FROM {node_revision__field_dateonly} WHERE entity_id=:nid AND revision_id=:vid', [ + ':nid' => 1, + ':vid' => 1, + ])->fetchField(); + $this->assertEquals('2018-02-14', $value); } /** * Test that datetime fields get modified. */ public function testDatetime() { - $fieldStorage = FieldStorageConfig::create([ - 'field_name' => 'field_datetime', - 'entity_type' => 'node', - 'type' => 'datetime', - 'settings' => ['datetime_type' => DateTimeItem::DATETIME_TYPE_DATETIME], - ]); - $fieldStorage->save(); - - $field = FieldConfig::create([ - 'field_storage' => $fieldStorage, - 'label' => 'Datetime', - 'bundle' => 'test_content_type', - 'description' => 'Description for Datetime', - 'required' => TRUE, - ]); - $field->save(); - - $node = Node::load(8); - $node->field_datetime = '2018-02-03T17:05:00'; - $node->save(); + $value = \Drupal::database()->query('SELECT field_datetime_value FROM {node__field_datetime} WHERE entity_id=:nid AND revision_id=:vid', [ + ':nid' => 1, + ':vid' => 1, + ])->fetchField(); + $this->assertEquals('2018-02-01T06:02:03', $value); + + $value = \Drupal::database()->query('SELECT field_datetime_value FROM {node_revision__field_datetime} WHERE entity_id=:nid AND revision_id=:vid', [ + ':nid' => 1, + ':vid' => 1, + ])->fetchField(); + $this->assertEquals('2018-02-01T06:02:03', $value); $this->runUpdates(); - $node = Node::load(8); - $this->assertEquals('2018-02-03T17:05:00+00:00', $node->field_datetime); + $value = \Drupal::database()->query('SELECT field_datetime_value FROM {node__field_datetime} WHERE entity_id=:nid AND revision_id=:vid', [ + ':nid' => 1, + ':vid' => 1, + ])->fetchField(); + $this->assertEquals('2018-02-01T06:02:03+00:00', $value); + + $value = \Drupal::database()->query('SELECT field_datetime_value FROM {node_revision__field_datetime} WHERE entity_id=:nid AND revision_id=:vid', [ + ':nid' => 1, + ':vid' => 1, + ])->fetchField(); + $this->assertEquals('2018-02-01T06:02:03+00:00', $value); } }