Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\field\Kernel;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\entity_test\Entity\EntityTest;
|
Chris@0
|
6 use Drupal\field\Entity\FieldConfig;
|
Chris@0
|
7 use Drupal\field\Entity\FieldStorageConfig;
|
Chris@0
|
8
|
Chris@0
|
9 /**
|
Chris@0
|
10 * Tests the serialization of an object.
|
Chris@0
|
11 *
|
Chris@0
|
12 * @group field
|
Chris@0
|
13 */
|
Chris@0
|
14 class TestObjectItemTest extends FieldKernelTestBase {
|
Chris@0
|
15
|
Chris@0
|
16 /**
|
Chris@0
|
17 * Modules to enable.
|
Chris@0
|
18 *
|
Chris@0
|
19 * @var array
|
Chris@0
|
20 */
|
Chris@0
|
21 public static $modules = ['field_test'];
|
Chris@0
|
22
|
Chris@0
|
23 /**
|
Chris@0
|
24 * {@inheritdoc}
|
Chris@0
|
25 */
|
Chris@0
|
26 protected function setUp() {
|
Chris@0
|
27 parent::setUp();
|
Chris@0
|
28
|
Chris@0
|
29 // Create a 'test_field' field and storage for validation.
|
Chris@0
|
30 FieldStorageConfig::create([
|
Chris@0
|
31 'field_name' => 'field_test',
|
Chris@0
|
32 'entity_type' => 'entity_test',
|
Chris@0
|
33 'type' => 'test_object_field',
|
Chris@0
|
34 ])->save();
|
Chris@0
|
35 FieldConfig::create([
|
Chris@0
|
36 'entity_type' => 'entity_test',
|
Chris@0
|
37 'field_name' => 'field_test',
|
Chris@0
|
38 'bundle' => 'entity_test',
|
Chris@0
|
39 ])->save();
|
Chris@0
|
40 }
|
Chris@0
|
41
|
Chris@0
|
42 /**
|
Chris@0
|
43 * Tests the serialization of a field type that has an object.
|
Chris@0
|
44 */
|
Chris@0
|
45 public function testTestObjectItem() {
|
Chris@0
|
46 $object = new \stdClass();
|
Chris@0
|
47 $object->foo = 'bar';
|
Chris@0
|
48 $entity = EntityTest::create();
|
Chris@0
|
49 $entity->field_test->value = $object;
|
Chris@0
|
50 $entity->save();
|
Chris@0
|
51
|
Chris@0
|
52 // Verify that the entity has been created properly.
|
Chris@0
|
53 $id = $entity->id();
|
Chris@0
|
54 $entity = EntityTest::load($id);
|
Chris@0
|
55 $this->assertTrue($entity->field_test->value instanceof \stdClass);
|
Chris@0
|
56 $this->assertEquals($object, $entity->field_test->value);
|
Chris@0
|
57 }
|
Chris@0
|
58
|
Chris@0
|
59 }
|