/**
  * {@inheritdoc
  */
 protected function setUp()
 {
     parent::setUp();
     $this->paymentStorage = \Drupal::entityManager()->getStorage('payment');
     /** @var \Drupal\currency\ConfigImporterInterface $config_importer */
     $config_importer = \Drupal::service('currency.config_importer');
     $config_importer->importCurrency('EUR');
     // Create the field and field instance.
     $field_name = strtolower($this->randomMachineName());
     entity_create('field_storage_config', ['cardinality' => FieldStorageConfigInterface::CARDINALITY_UNLIMITED, 'entity_type' => 'user', 'field_name' => $field_name, 'type' => 'payment_form'])->save();
     entity_create('field_config', ['bundle' => 'user', 'entity_type' => 'user', 'field_name' => $field_name, 'settings' => ['currency_code' => 'EUR']])->save();
     entity_get_display('user', 'user', 'default')->setComponent($field_name, ['type' => 'payment_form'])->save();
     // Create an entity.
     $this->user = entity_create('user', ['name' => $this->randomString(), 'status' => TRUE]);
     foreach (Generate::createPaymentLineItems() as $line_item) {
         $this->user->get($field_name)->appendItem(['plugin_id' => $line_item->getPluginId(), 'plugin_configuration' => $line_item->getConfiguration()]);
     }
     $this->user->save();
     // Create a payment method.
     $this->paymentMethod = Generate::createPaymentMethodConfiguration(2, 'payment_basic');
     $this->paymentMethod->setPluginConfiguration(['execute_status_id' => $this->executeStatusPluginId]);
     $this->paymentMethod->save();
 }
 /**
  * {@inheritdoc}
  */
 public function get($field_name)
 {
     return $this->subject->get($field_name);
 }