You are here

public function DomainNegotiatorTest::testDomainNegotiator in Domain Access 8

Tests the handling of an inbound request.

File

domain/tests/src/Functional/DomainNegotiatorTest.php, line 24

Class

DomainNegotiatorTest
Tests the domain negotiation manager.

Namespace

Drupal\Tests\domain\Functional

Code

public function testDomainNegotiator() {

  // No domains should exist.
  $this
    ->domainTableIsEmpty();

  // Create four new domains programmatically.
  $this
    ->domainCreateTestDomains(4);

  // Since we cannot read the service request, we place a block
  // which shows the current domain information.
  $this
    ->drupalPlaceBlock('domain_server_block');

  // To get around block access, let the anon user view the block.
  user_role_grant_permissions(AccountInterface::ANONYMOUS_ROLE, [
    'view domain information',
  ]);

  // Test the response of the default home page.
  foreach (\Drupal::entityTypeManager()
    ->getStorage('domain')
    ->loadMultiple() as $domain) {
    $this
      ->drupalGet($domain
      ->getPath());
    $this
      ->assertRaw($domain
      ->label(), 'Loaded the proper domain.');
  }
}