Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / migrate / tests / src / Unit / destination / PerComponentEntityFormDisplayTest.php
1 <?php
2
3 /**
4  * @file
5  * Contains \Drupal\Tests\migrate\Unit\destination\PerComponentEntityFormDisplayTest.
6  */
7
8 namespace Drupal\Tests\migrate\Unit\destination;
9
10 use Drupal\migrate\Plugin\migrate\destination\PerComponentEntityFormDisplay;
11 use Drupal\migrate\Row;
12 use Drupal\Tests\migrate\Unit\MigrateTestCase;
13
14 /**
15  * Tests the entity display destination plugin.
16  *
17  * @group migrate
18  */
19 class PerComponentEntityFormDisplayTest extends MigrateTestCase {
20
21   /**
22    * Tests the entity display import method.
23    */
24   public function testImport() {
25     $values = [
26       'entity_type' => 'entity_type_test',
27       'bundle' => 'bundle_test',
28       'form_mode' => 'form_mode_test',
29       'field_name' => 'field_name_test',
30       'options' => ['test setting'],
31     ];
32     $row = new Row();
33     foreach ($values as $key => $value) {
34       $row->setDestinationProperty($key, $value);
35     }
36     $entity = $this->getMockBuilder('Drupal\Core\Entity\Entity\EntityFormDisplay')
37       ->disableOriginalConstructor()
38       ->getMock();
39     $entity->expects($this->once())
40       ->method('setComponent')
41       ->with('field_name_test', ['test setting'])
42       ->will($this->returnSelf());
43     $entity->expects($this->once())
44       ->method('save')
45       ->with();
46     $plugin = new TestPerComponentEntityFormDisplay($entity);
47     $this->assertSame(['entity_type_test', 'bundle_test', 'form_mode_test', 'field_name_test'], $plugin->import($row));
48     $this->assertSame(['entity_type_test', 'bundle_test', 'form_mode_test'], $plugin->getTestValues());
49   }
50
51 }
52
53 class TestPerComponentEntityFormDisplay extends PerComponentEntityFormDisplay {
54   const MODE_NAME = 'form_mode';
55   protected $testValues;
56
57   public function __construct($entity) {
58     $this->entity = $entity;
59   }
60
61   protected function getEntity($entity_type, $bundle, $form_mode) {
62     $this->testValues = func_get_args();
63     return $this->entity;
64   }
65
66   public function getTestValues() {
67     return $this->testValues;
68   }
69
70 }