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()
Same name and namespace in other branches
  1. 8 tests/src/Functional/AdminFunctionalityTest.php \Drupal\Tests\synonyms\Functional\AdminFunctionalityTest::testSynonymsAdmin()

Make sure the main admin page loads correctly.

File

tests/src/Functional/AdminFunctionalityTest.php, line 44

Class

AdminFunctionalityTest
Checks if admin functionality works correctly.

Namespace

Drupal\Tests\synonyms\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('Wording type');
  $session
    ->pageTextContains('Default');
  $session
    ->pageTextContains('ENTITY TYPE');
  $session
    ->pageTextContains('BUNDLE');
  $session
    ->pageTextContains('PROVIDERS');
  $session
    ->pageTextContains('BEHAVIORS');
  $session
    ->pageTextContains('ACTION');
  $session
    ->pageTextContains('User');
  $session
    ->pageTextContains('Manage providers');
  $session
    ->pageTextContains('Manage behaviors');

  // Load the Manage providers page for Users entity type.
  $this
    ->drupalGet('admin/structure/synonyms/synonym/user/user');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->pageTextContains('Manage providers of User');
  $session
    ->pageTextContains('PROVIDER');
  $session
    ->pageTextContains('OPERATIONS');
  $session
    ->pageTextNotContains('User ID');

  // Load the Add provider page for Users entity type.
  $this
    ->drupalGet('admin/structure/synonyms/user/user/add');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->pageTextContains('Add provider');
  $session
    ->pageTextContains('Synonyms provider');
  $session
    ->selectExists('provider_plugin');
  $session
    ->optionExists('provider_plugin', 'User ID');
  $session
    ->buttonExists('Save');

  // 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
    ->buttonExists('Save configuration');

  // Load the Synonyms settings page.
  $this
    ->drupalGet('admin/structure/synonyms/settings');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->pageTextContains('Synonyms settings');
  $session
    ->pageTextContains('Wording type');
  $session
    ->selectExists('wording_type');
  $session
    ->fieldValueEquals('wording_type', 'default');
  $session
    ->buttonExists('Save configuration');

  // Edit settings.
  $edit = [
    'wording_type' => 'none',
  ];
  $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
    ->pageTextContains('Wording type');
  $session
    ->selectExists('wording_type');
  $session
    ->fieldValueEquals('wording_type', 'none');
  $session
    ->buttonExists('Save configuration');
}