Chris@0: rebuild(); Chris@0: Chris@0: // Create the test field storage. Chris@0: FieldStorageConfig::create([ Chris@0: 'entity_type' => 'entity_test_mulrev', Chris@0: 'field_name' => 'field_test_entity_reference', Chris@0: 'type' => 'entity_reference', Chris@0: 'settings' => [ Chris@0: 'target_type' => 'entity_test_mulrev', Chris@0: ], Chris@0: ])->save(); Chris@0: Chris@0: // Create the test field. Chris@0: FieldConfig::create([ Chris@0: 'entity_type' => 'entity_test_mulrev', Chris@0: 'field_name' => 'field_test_entity_reference', Chris@0: 'bundle' => 'entity_test_mulrev', Chris@0: ])->save(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Test that fields referencing UUIDs can be denormalized. Chris@0: */ Chris@0: public function testUuidEntityResolver() { Chris@0: // Create an entity to get the UUID from. Chris@0: $entity = EntityTestMulRev::create(['type' => 'entity_test_mulrev']); Chris@0: $entity->set('name', 'foobar'); Chris@0: $entity->set('field_test_entity_reference', [['target_id' => 1]]); Chris@0: $entity->save(); Chris@0: Chris@0: $field_uri = Url::fromUri('base:rest/relation/entity_test_mulrev/entity_test_mulrev/field_test_entity_reference', ['absolute' => TRUE])->toString(); Chris@0: Chris@0: $data = [ Chris@0: '_links' => [ Chris@0: 'type' => [ Chris@0: 'href' => Url::fromUri('base:rest/type/entity_test_mulrev/entity_test_mulrev', ['absolute' => TRUE])->toString(), Chris@0: ], Chris@0: $field_uri => [ Chris@0: [ Chris@18: 'href' => $entity->toUrl()->toString(), Chris@0: ], Chris@0: ], Chris@0: ], Chris@0: '_embedded' => [ Chris@0: $field_uri => [ Chris@0: [ Chris@0: '_links' => [ Chris@18: 'self' => $entity->toUrl()->toString(), Chris@0: ], Chris@0: 'uuid' => [ Chris@0: [ Chris@0: 'value' => $entity->uuid(), Chris@0: ], Chris@0: ], Chris@0: ], Chris@0: ], Chris@0: ], Chris@0: ]; Chris@0: Chris@0: $denormalized = $this->container->get('serializer')->denormalize($data, 'Drupal\entity_test\Entity\EntityTestMulRev', $this->format); Chris@0: $field_value = $denormalized->get('field_test_entity_reference')->getValue(); Chris@0: $this->assertEqual($field_value[0]['target_id'], 1, 'Entity reference resolved using UUID.'); Chris@0: } Chris@0: Chris@0: }