Upgraded drupal core with security updates
[yaffs-website] / web / core / modules / taxonomy / tests / src / Functional / LegacyTest.php
1 <?php
2
3 namespace Drupal\Tests\taxonomy\Functional;
4
5 use Drupal\Core\Datetime\DrupalDateTime;
6 use Drupal\Core\Field\FieldStorageDefinitionInterface;
7 use \Drupal\taxonomy\Entity\Vocabulary;
8
9 /**
10  * Posts an article with a taxonomy term and a date prior to 1970.
11  *
12  * @group taxonomy
13  */
14 class LegacyTest extends TaxonomyTestBase {
15
16   /**
17    * Modules to enable.
18    *
19    * @var array
20    */
21   public static $modules = ['node', 'datetime'];
22
23   protected function setUp() {
24     parent::setUp();
25
26     // Create a tags vocabulary for the 'article' content type.
27     $vocabulary = Vocabulary::create([
28       'name' => 'Tags',
29       'vid' => 'tags',
30     ]);
31     $vocabulary->save();
32     $field_name = 'field_' . $vocabulary->id();
33
34     $handler_settings = [
35       'target_bundles' => [
36         $vocabulary->id() => $vocabulary->id(),
37       ],
38       'auto_create' => TRUE,
39     ];
40     $this->createEntityReferenceField('node', 'article', $field_name, 'Tags', 'taxonomy_term', 'default', $handler_settings, FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED);
41
42     entity_get_form_display('node', 'article', 'default')
43       ->setComponent($field_name, [
44         'type' => 'entity_reference_autocomplete_tags',
45       ])
46       ->save();
47
48     $this->drupalLogin($this->drupalCreateUser(['administer taxonomy', 'administer nodes', 'bypass node access']));
49   }
50
51   /**
52    * Test taxonomy functionality with nodes prior to 1970.
53    */
54   public function testTaxonomyLegacyNode() {
55     // Posts an article with a taxonomy term and a date prior to 1970.
56     $date = new DrupalDateTime('1969-01-01 00:00:00');
57     $edit = [];
58     $edit['title[0][value]'] = $this->randomMachineName();
59     $edit['created[0][value][date]'] = $date->format('Y-m-d');
60     $edit['created[0][value][time]'] = $date->format('H:i:s');
61     $edit['body[0][value]'] = $this->randomMachineName();
62     $edit['field_tags[target_id]'] = $this->randomMachineName();
63     $this->drupalPostForm('node/add/article', $edit, t('Save and publish'));
64     // Checks that the node has been saved.
65     $node = $this->drupalGetNodeByTitle($edit['title[0][value]']);
66     $this->assertEqual($node->getCreatedTime(), $date->getTimestamp(), 'Legacy node was saved with the right date.');
67   }
68
69 }