You are here

public function AdminFunctionalityTest::testSynonymsAdmin in Synonyms 2.0.x

Same name in this branch
  1. 2.0.x tests/src/Functional/AdminFunctionalityTest.php \Drupal\Tests\synonyms\Functional\AdminFunctionalityTest::testSynonymsAdmin()
  2. 2.0.x modules/synonyms_autocomplete/tests/src/Functional/AdminFunctionalityTest.php \Drupal\Tests\synonyms_autocomplete\Functional\AdminFunctionalityTest::testSynonymsAdmin()
  3. 2.0.x modules/synonyms_list_field/tests/src/Functional/AdminFunctionalityTest.php \Drupal\Tests\synonyms_list_field\Functional\AdminFunctionalityTest::testSynonymsAdmin()
  4. 2.0.x modules/synonyms_search/tests/src/Functional/AdminFunctionalityTest.php \Drupal\Tests\synonyms_search\Functional\AdminFunctionalityTest::testSynonymsAdmin()
  5. 2.0.x modules/synonyms_select/tests/src/Functional/AdminFunctionalityTest.php \Drupal\Tests\synonyms_select\Functional\AdminFunctionalityTest::testSynonymsAdmin()

Make sure the main admin page loads correctly.

It should contain the default Autocomplete widget wording.

File

modules/synonyms_autocomplete/tests/src/Functional/AdminFunctionalityTest.php, line 47

Class

AdminFunctionalityTest
Checks if admin functionality works correctly.

Namespace

Drupal\Tests\synonyms_autocomplete\Functional

Code

public function testSynonymsAdmin() {

  // Load the main admin page.
  $this
    ->drupalGet('admin/structure/synonyms');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->pageTextContains('Synonyms configuration');
  $session
    ->pageTextContains('Default wordings:');
  $session
    ->pageTextContains('Synonyms-friendly autocomplete widget: @synonym is the @field_label of @entity_label');

  // Load the Synonyms settings page.
  $this
    ->drupalGet('admin/structure/synonyms/settings');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->pageTextContains('Synonyms settings');
  $session
    ->fieldValueEquals('autocomplete', '@synonym is the @field_label of @entity_label');
  $session
    ->buttonExists('Save configuration');

  // Edit settings.
  $edit = [
    'wording_type' => 'default',
    'autocomplete' => 'Test wording',
  ];
  $this
    ->drupalPostForm(NULL, $edit, 'Save');

  // Confirm the change.
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->addressEquals('admin/structure/synonyms/settings');
  $session
    ->pageTextContains('Synonyms settings');
  $session
    ->fieldValueEquals('autocomplete', 'Test wording');
  $session
    ->buttonExists('Save configuration');

  // Load the Manage behaviors page for User entity type.
  $this
    ->drupalGet('admin/structure/synonyms/behavior/user/user');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->pageTextContains('Manage behaviors of User');
  $session
    ->pageTextContains('Autocomplete service');
  $session
    ->checkboxNotChecked('autocomplete_status');
  $session
    ->buttonExists('Save configuration');

  // Edit settings.
  $edit = [
    'autocomplete_status' => 1,
  ];
  $this
    ->drupalPostForm(NULL, $edit, 'Save');

  // Confirm the change.
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->addressEquals('admin/structure/synonyms/behavior/user/user');
  $session
    ->pageTextContains('Manage behaviors of User');
  $session
    ->pageTextContains('Autocomplete service');
  $session
    ->checkboxChecked('autocomplete_status');
  $session
    ->buttonExists('Save configuration');
}