public function DomainActionsTest::testDomainActions in Domain Access 8
Tests bulk actions through the domain overview page.
File
- domain/
tests/ src/ Functional/ DomainActionsTest.php, line 15
Class
- DomainActionsTest
- Tests the domain record actions.
Namespace
Drupal\Tests\domain\FunctionalCode
public function testDomainActions() {
$this->admin_user = $this
->drupalCreateUser([
'administer domains',
'access administration pages',
]);
$this
->drupalLogin($this->admin_user);
$path = 'admin/config/domain';
// Create test domains.
$this
->domainCreateTestDomains(4);
// Visit the domain overview administration page.
$this
->drupalGet($path);
$this
->assertResponse(200);
// Test the domains.
$storage = \Drupal::entityTypeManager()
->getStorage('domain');
$domains = $storage
->loadMultiple();
$this
->assertCount(4, $domains, 'Four domain records found.');
// Check the default domain.
$default = $storage
->loadDefaultId();
$key = 'example_com';
$this
->assertTrue($default == $key, 'Default domain set correctly.');
// Test some text on the page.
foreach ($domains as $domain) {
$name = $domain
->label();
$this
->assertText($name, 'Name found properly.');
}
// Test the list of actions.
$actions = [
'delete',
'disable',
'default',
];
foreach ($actions as $action) {
$this
->assertRaw("/domain/{$action}/", 'Actions found properly.');
}
// Check that all domains are active.
$this
->assertNoRaw('Inactive', 'Inactive domain not found.');
// Disable a domain and test the enable link.
$this
->clickLink('Disable', 0);
$this
->assertRaw('Inactive', 'Inactive domain found.');
// Visit the domain overview administration page to clear cache.
$this
->drupalGet($path);
$this
->assertResponse(200);
foreach ($storage
->loadMultiple() as $domain) {
if ($domain
->id() == 'one_example_com') {
$this
->assertEmpty($domain
->status(), 'One domain inactive.');
}
else {
$this
->assertNotEmpty($domain
->status(), 'Other domains active.');
}
}
// Test the list of actions.
$actions = [
'enable',
'delete',
'disable',
'default',
];
foreach ($actions as $action) {
$this
->assertRaw("/domain/{$action}/", 'Actions found properly.');
}
// Re-enable the domain.
$this
->clickLink('Enable', 0);
$this
->assertNoRaw('Inactive', 'Inactive domain not found.');
// Visit the domain overview administration page to clear cache.
$this
->drupalGet($path);
$this
->assertResponse(200);
foreach ($storage
->loadMultiple() as $domain) {
$this
->assertNotEmpty($domain
->status(), 'All domains active.');
}
// Set a new default domain.
$this
->clickLink('Make default', 0);
// Visit the domain overview administration page to clear cache.
$this
->drupalGet($path);
$this
->assertResponse(200);
// Check the default domain.
$storage
->resetCache();
$default = $storage
->loadDefaultId();
$key = 'one_example_com';
$this
->assertTrue($default == $key, 'Default domain set correctly.');
}