ActiveDomainDefaultArgumentTest.php in Domain Access 8
File
domain/tests/src/Functional/Views/ActiveDomainDefaultArgumentTest.php
View source
<?php
namespace Drupal\Tests\domain\Functional\Views;
use Drupal\Core\Url;
use Drupal\Tests\domain\Functional\DomainTestBase;
use Drupal\Tests\domain\Traits\DomainTestTrait;
use Drupal\domain_access\DomainAccessManagerInterface;
class ActiveDomainDefaultArgumentTest extends DomainTestBase {
use DomainTestTrait;
protected $defaultTheme = 'stark';
public static $modules = [
'node',
'domain',
'domain_access',
'domain_test_views',
];
protected $data = [];
protected function setUp($import_test_views = TRUE) {
parent::setUp();
$this
->domainCreateTestDomains(3);
$this
->createTestData();
}
protected function createTestData() {
foreach ($this
->getDomains() as $domain_id => $domain) {
$nodes_count = random_int(1, 5);
while ($nodes_count !== 0) {
$node = $this
->drupalCreateNode([
'type' => 'article',
'title' => $this
->randomString(),
DomainAccessManagerInterface::DOMAIN_ACCESS_FIELD => $domain_id,
]);
$this->data[$domain_id][] = $node
->id();
$nodes_count--;
}
}
}
public function testActiveDomainDefaultArgument() {
$url = Url::fromRoute('view.test_active_domain_argument.page_1');
foreach ($this
->getDomains() as $domain_id => $domain) {
$page_url = $domain
->buildUrl($url
->toString());
$this
->drupalGet($page_url);
$expected_nids = array_values($this->data[$domain_id]);
$this
->assertNids($domain_id, $expected_nids);
}
}
protected function assertNids($domain_id, array $expected_nids = []) {
$result = $this
->xpath("//td[contains(@class, 'views-field-nid')]");
$actual_nids = [];
foreach ($result as $element) {
$actual_nids[] = $element
->getText();
}
$this
->assertSame($expected_nids, $actual_nids, 'Domain ID: ' . $domain_id);
}
}