/**
  * Tests referencing content entities with string IDs.
  */
 public function testContentEntityReferenceItemWithStringId()
 {
     $entity = EntityTest::create();
     $entity->field_test_entity_test_string_id->target_id = $this->entityStringId->id();
     $entity->save();
     $storage = \Drupal::entityManager()->getStorage('entity_test');
     $storage->resetCache();
     $this->assertEqual($this->entityStringId->id(), $storage->load($entity->id())->field_test_entity_test_string_id->target_id);
 }
 /**
  * Tests referencing content entities with string IDs.
  */
 public function testContentEntityReferenceItemWithStringId()
 {
     $entity = EntityTest::create();
     $entity->field_test_entity_test_string_id->target_id = $this->entityStringId->id();
     $entity->save();
     $storage = \Drupal::entityManager()->getStorage('entity_test');
     $storage->resetCache();
     $this->assertEqual($this->entityStringId->id(), $storage->load($entity->id())->field_test_entity_test_string_id->target_id);
     // Verify that the label for the target ID property definition is correct.
     $label = $entity->field_test_taxonomy_term->getFieldDefinition()->getFieldStorageDefinition()->getPropertyDefinition('target_id')->getLabel();
     $this->assertTrue($label instanceof TranslatableMarkup);
     $this->assertEqual($label->render(), 'Taxonomy term ID');
 }
 /**
  * Tests referencing entities with string IDs.
  */
 public function testReferencedEntitiesStringId()
 {
     $field_name = 'entity_reference_string_id';
     $this->installEntitySchema('entity_test_string_id');
     $this->createEntityReferenceField($this->entityType, $this->bundle, $field_name, 'Field test', 'entity_test_string_id', 'default', array('target_bundles' => array($this->bundle)), FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED);
     // Create the parent entity.
     $entity = $this->container->get('entity_type.manager')->getStorage($this->entityType)->create(array('type' => $this->bundle));
     // Create the default target entity.
     $target_entity = EntityTestStringId::create(['id' => $this->randomString(), 'type' => $this->bundle]);
     $target_entity->save();
     // Set the field value.
     $entity->{$field_name}->setValue(array(array('target_id' => $target_entity->id())));
     // Load the target entities using EntityReferenceField::referencedEntities().
     $entities = $entity->{$field_name}->referencedEntities();
     $this->assertEqual($entities[0]->id(), $target_entity->id());
     // Test that a string ID works as a default value and the field's config
     // schema is correct.
     $field = FieldConfig::loadByName($this->entityType, $this->bundle, $field_name);
     $field->setDefaultValue($target_entity->id());
     $field->save();
     $this->assertConfigSchema(\Drupal::service('config.typed'), 'field.field.' . $field->id(), $field->toArray());
     // Test that the default value works.
     $entity = $this->container->get('entity_type.manager')->getStorage($this->entityType)->create(array('type' => $this->bundle));
     $entities = $entity->{$field_name}->referencedEntities();
     $this->assertEqual($entities[0]->id(), $target_entity->id());
 }