You are here

public function IndividualUiTest::testFieldsUi in CRM Core 8.3

Test if the field UI is displayed on individual bundle.

File

modules/crm_core_contact/tests/src/Functional/IndividualUiTest.php, line 294

Class

IndividualUiTest
Tests the UI for Individual CRUD operations.

Namespace

Drupal\Tests\crm_core_contact\Functional

Code

public function testFieldsUi() : void {
  $user = $this
    ->drupalCreateUser([
    'administer crm_core_individual display',
    'administer crm_core_individual form display',
    'administer crm_core_individual fields',
    'administer individual types',
  ]);
  $this
    ->drupalLogin($user);

  // List of all types.
  $this
    ->drupalGet('admin/structure/crm-core/individual-types');

  // Manage fields local task in available.
  $this
    ->assertSession()
    ->linkExists('Edit');
  $this
    ->assertSession()
    ->linkExists('Manage fields');
  $this
    ->assertSession()
    ->linkExists('Manage form display');
  $this
    ->assertSession()
    ->linkExists('Manage display');

  // Edit on type.
  $this
    ->drupalGet('admin/structure/crm-core/individual-types/customer');

  // Manage fields local task in available.
  $this
    ->assertSession()
    ->linkExists('Edit');
  $this
    ->assertSession()
    ->linkExists('Manage fields');
  $this
    ->assertSession()
    ->linkExists('Manage form display');
  $this
    ->assertSession()
    ->linkExists('Manage display');

  // Manage fields on type.
  $this
    ->drupalGet('admin/structure/crm-core/individual-types/customer/fields');

  // Manage fields local task in available.
  $this
    ->assertSession()
    ->linkExists('Edit');
  $this
    ->assertSession()
    ->linkExists('Manage fields');
  $this
    ->assertSession()
    ->linkExists('Manage form display');
  $this
    ->assertSession()
    ->linkExists('Manage display');
  $this
    ->drupalGet('admin/structure/crm-core/individual-types/customer/form-display');

  // Name field is available on form display.
  $this
    ->assertSession()
    ->pageTextContains('Name');
  $this
    ->drupalGet('admin/structure/crm-core/individual-types/customer/display');

  // Name field is available on manage display.
  $this
    ->assertSession()
    ->pageTextContains('Name');
}