DomainAccessEntityReferenceTest.php in Domain Access 8
File
domain_access/tests/src/Functional/DomainAccessEntityReferenceTest.php
View source
<?php
namespace Drupal\Tests\domain_access\Functional;
use Drupal\Tests\domain\Functional\DomainTestBase;
class DomainAccessEntityReferenceTest extends DomainTestBase {
public static $modules = [
'domain',
'domain_access',
'field',
'field_ui',
];
public function testDomainAccessNodeField() {
$this->admin_user = $this
->drupalCreateUser([
'administer content types',
'administer node fields',
'administer node display',
'administer domains',
]);
$this
->drupalLogin($this->admin_user);
$this
->drupalGet('admin/structure/types/manage/article/fields');
$this
->assertResponse(200, 'Manage fields page accessed.');
$this
->assertText('Domain Access', 'Domain form field found.');
$this
->drupalGet('admin/structure/types/manage/article/display');
$this
->assertResponse(200, 'Manage field display page accessed.');
$this
->assertText('Domain Access', 'Domain form field found.');
}
public function testDomainAccessFieldStorage() {
$this->admin_user = $this
->drupalCreateUser([
'bypass node access',
'administer content types',
'administer node fields',
'administer node display',
'administer domains',
'publish to any domain',
]);
$this
->drupalLogin($this->admin_user);
$this
->domainCreateTestDomains(5);
$this
->drupalGet('node/add/article');
$this
->assertResponse(200);
$this
->assertText('Domain Access', 'Found the domain field instance.');
$domains = \Drupal::entityTypeManager()
->getStorage('domain')
->loadMultiple();
foreach ($domains as $domain) {
$string = 'value="' . $domain
->id() . '"';
$this
->assertRaw($string, 'Found the domain option.');
if (!isset($one)) {
$one = $domain
->id();
continue;
}
if (!isset($two)) {
$two = $domain
->id();
}
}
$edit['title[0][value]'] = 'Test node';
$edit["field_domain_access[{$one}]"] = TRUE;
$edit["field_domain_access[{$two}]"] = TRUE;
$this
->drupalGet('node/add/article');
$this
->submitForm($edit, 'Save');
$this
->assertResponse(200);
$node = \Drupal::entityTypeManager()
->getStorage('node')
->load(1);
$values = \Drupal::service('domain_access.manager')
->getAccessValues($node);
$this
->assertCount(2, $values, 'Node saved with two domain records.');
}
}