You are here

public function EntityDisplayModeTest::testEntityViewModeUI in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/field_ui/src/Tests/EntityDisplayModeTest.php \Drupal\field_ui\Tests\EntityDisplayModeTest::testEntityViewModeUI()

Tests the EntityViewMode user interface.

File

core/modules/field_ui/src/Tests/EntityDisplayModeTest.php, line 39
Contains \Drupal\field_ui\Tests\EntityDisplayModeTest.

Class

EntityDisplayModeTest
Tests the entity display modes UI.

Namespace

Drupal\field_ui\Tests

Code

public function testEntityViewModeUI() {

  // Test the listing page.
  $this
    ->drupalGet('admin/structure/display-modes/view');
  $this
    ->assertResponse(403);
  $this
    ->drupalLogin($this
    ->drupalCreateUser(array(
    'administer display modes',
  )));
  $this
    ->drupalGet('admin/structure/display-modes/view');
  $this
    ->assertResponse(200);
  $this
    ->assertText(t('Add new view mode'));
  $this
    ->assertLinkByHref('admin/structure/display-modes/view/add');
  $this
    ->assertLinkByHref('admin/structure/display-modes/view/add/entity_test');
  $this
    ->drupalGet('admin/structure/display-modes/view/add/entity_test_mulrev');
  $this
    ->assertResponse(404);
  $this
    ->drupalGet('admin/structure/display-modes/view/add');
  $this
    ->assertNoLink(t('Test entity - revisions and data table'), 'An entity type with no view builder cannot have view modes.');

  // Test adding a view mode including dots in machine_name.
  $this
    ->clickLink(t('Test entity'));
  $edit = array(
    'id' => strtolower($this
      ->randomMachineName()) . '.' . strtolower($this
      ->randomMachineName()),
    'label' => $this
      ->randomString(),
  );
  $this
    ->drupalPostForm(NULL, $edit, t('Save'));
  $this
    ->assertRaw('The machine-readable name must contain only lowercase letters, numbers, and underscores.');

  // Test adding a view mode.
  $edit = array(
    'id' => strtolower($this
      ->randomMachineName()),
    'label' => $this
      ->randomString(),
  );
  $this
    ->drupalPostForm(NULL, $edit, t('Save'));
  $this
    ->assertRaw(t('Saved the %label view mode.', array(
    '%label' => $edit['label'],
  )));

  // Test editing the view mode.
  $this
    ->drupalGet('admin/structure/display-modes/view/manage/entity_test.' . $edit['id']);

  // Test deleting the view mode.
  $this
    ->clickLink(t('Delete'));
  $this
    ->assertRaw(t('Are you sure you want to delete the view mode %label?', array(
    '%label' => $edit['label'],
  )));
  $this
    ->drupalPostForm(NULL, NULL, t('Delete'));
  $this
    ->assertRaw(t('The view mode %label has been deleted.', array(
    '%label' => $edit['label'],
  )));
}