Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / tests / Drupal / KernelTests / Core / Entity / EntityDuplicateTest.php
1 <?php
2
3 namespace Drupal\KernelTests\Core\Entity;
4
5 use Drupal\entity_test\Entity\EntityTestRev;
6
7 /**
8  * Test entity duplication.
9  *
10  * @group Entity
11  */
12 class EntityDuplicateTest extends EntityKernelTestBase {
13
14   /**
15    * @var \Drupal\Core\Entity\ContentEntityStorageInterface
16    */
17   protected $entityTestRevStorage;
18
19   /**
20    * {@inheritdoc}
21    */
22   protected function setUp() {
23     parent::setUp();
24     $this->installEntitySchema('entity_test_rev');
25     $this->entityTestRevStorage = $this->container->get('entity_type.manager')->getStorage('entity_test_rev');
26   }
27
28   /**
29    * Test duplicating a non-default revision.
30    */
31   public function testDuplicateNonDefaultRevision() {
32     $entity = EntityTestRev::create([
33       'name' => 'First Revision',
34     ]);
35     $entity->save();
36     $first_revision_id = $entity->getRevisionId();
37
38     $entity->setNewRevision(TRUE);
39     $entity->name = 'Second Revision';
40     $entity->save();
41
42     $duplicate_first_revision = $this->entityTestRevStorage->loadRevision($first_revision_id)->createDuplicate();
43     $this->assertTrue($duplicate_first_revision->isDefaultRevision(), 'Duplicating a non-default revision creates a default revision.');
44     $this->assertEquals($duplicate_first_revision->label(), 'First Revision');
45     $duplicate_first_revision->save();
46
47     $duplicate_first_revision->name = 'Updated name';
48     $duplicate_first_revision->save();
49
50     $this->entityTestRevStorage->resetCache();
51     $duplicate_first_revision = EntityTestRev::load($duplicate_first_revision->id());
52     $this->assertEquals('Updated name', $duplicate_first_revision->label());
53   }
54
55 }