You are here

public function AvatarKitAdminSettingsTest::testAdminSettings in Avatar Kit 8

Test admin settings.

File

tests/src/Functional/AvatarKitAdminSettingsTest.php, line 24

Class

AvatarKitAdminSettingsTest
Avatar Kit admin settings test.

Namespace

Drupal\Tests\avatars\Functional

Code

public function testAdminSettings() {
  $avatar_generator1 = $this
    ->createAvatarGenerator([
    'weight' => -100,
    'status' => 1,
  ]);
  $avatar_generator2 = $this
    ->createAvatarGenerator([
    'weight' => 100,
  ]);
  $this
    ->drupalGet('admin/config/people/avatars');
  $this
    ->assertResponse(200);
  $this
    ->assertRaw(t('A list of avatar generators to try for each user in order of preference.'));

  // Generator 1 should be in first row, with checked box.
  $elements = $this
    ->xpath('//table//tr[1]/td[1][text()=:label]', [
    ':label' => $avatar_generator1
      ->label(),
  ]);
  $this
    ->assertTrue(!empty($elements), 'Generator on first row.');
  $this
    ->assertFieldChecked('edit-avatar-generators-' . $avatar_generator1
    ->id() . '-enabled');

  // Generator 2 should be in fourth row, with unchecked box.
  $elements = $this
    ->xpath('//table//tr[4]/td[1][text()=:label]', [
    ':label' => $avatar_generator2
      ->label(),
  ]);
  $this
    ->assertTrue(!empty($elements), 'Generator on fourth row.');
  $this
    ->assertNoFieldChecked('edit-avatar-generators-' . $avatar_generator2
    ->id() . '-enabled');
}