function NormalizerTestBase::setUp

Same name in this branch

Overrides \Drupal\simpletest\DrupalUnitTestBase::setup().

Overrides DrupalUnitTestBase::setUp

File

drupal/core/modules/hal/lib/Drupal/hal/Tests/NormalizerTestBase.php, line 59
Contains \Drupal\hal\Tests\NormalizerTestBase.

Class

NormalizerTestBase
Test the HAL normalizer.

Namespace

Drupal\hal\Tests

Code

function setUp() {
  parent::setUp();
  $this
    ->installSchema('system', array(
    'variable',
    'url_alias',
  ));
  $this
    ->installSchema('user', array(
    'users',
  ));
  $this
    ->installSchema('language', array(
    'language',
  ));
  $this
    ->installSchema('entity_test', array(
    'entity_test',
  ));
  $this
    ->installConfig(array(
    'field',
  ));

  // Add English as a language.
  $english = new Language(array(
    'langcode' => 'en',
    'name' => 'English',
  ));
  language_save($english);

  // Add German as a language.
  $german = new Language(array(
    'langcode' => 'de',
    'name' => 'Deutsch',
  ));
  language_save($german);

  // Create the test text field.
  $field = array(
    'field_name' => 'field_test_text',
    'type' => 'text',
    'translatable' => FALSE,
  );
  field_create_field($field);
  $instance = array(
    'entity_type' => 'entity_test',
    'field_name' => 'field_test_text',
    'bundle' => 'entity_test',
  );
  field_create_instance($instance);

  // Create the test translatable field.
  $field = array(
    'field_name' => 'field_test_translatable_text',
    'type' => 'text',
    'translatable' => TRUE,
  );
  field_create_field($field);
  $instance = array(
    'entity_type' => 'entity_test',
    'field_name' => 'field_test_translatable_text',
    'bundle' => 'entity_test',
  );
  field_create_instance($instance);

  // Create the test entity reference field.
  $field = array(
    'translatable' => TRUE,
    'settings' => array(
      'target_type' => 'entity_test',
    ),
    'field_name' => 'field_test_entity_reference',
    'type' => 'entity_reference',
  );
  field_create_field($field);
  $instance = array(
    'entity_type' => 'entity_test',
    'field_name' => 'field_test_entity_reference',
    'bundle' => 'entity_test',
  );
  field_create_instance($instance);

  // Set up the mock serializer.
  $normalizers = array(
    new EntityNormalizer(),
    new EntityReferenceItemNormalizer(),
    new FieldItemNormalizer(),
    new FieldNormalizer(),
  );
  $link_manager = new LinkManager(new TypeLinkManager(new MemoryBackend('cache')), new RelationLinkManager(new MemoryBackend('cache')));
  foreach ($normalizers as $normalizer) {
    $normalizer
      ->setLinkManager($link_manager);
  }
  $encoders = array(
    new JsonEncoder(),
  );
  $this->serializer = new Serializer($normalizers, $encoders);
}