Commit 0399150f authored by Liam Morland's avatar Liam Morland
Browse files

ISTWCMS-4635: Test dashboard dropbutton link display

parent b681f706
......@@ -1414,6 +1414,17 @@ class UwWcmsBasicTest extends BrowserTestBase {
* Test default dashboard.
*/
private function dashboardTest() {
// Used by dropbutton test.
$layout_link_xpath = $this->buildXPathQuery('//ul[@class=:class]/li/a[contains(@href, :href)]', [
':class' => 'dropbutton',
':href' => '/home/layout',
]);
$layout_link_no_access_roles = [
'uw_role_site_owner',
'uw_role_form_editor',
'uw_role_form_results_access',
];
// Anonymous user cannot view "Who's online" block in dashboard.
if ($this->loggedInUser) {
$this->drupalLogout();
......@@ -1446,6 +1457,16 @@ class UwWcmsBasicTest extends BrowserTestBase {
$this->assertSession()->linkNotExists('People');
$this->assertSession()->linkNotExists('Reports');
}
// Test that dropbuttons do not have links to which the user has no
// access.
$link_exists = (bool) $this->xpath($layout_link_xpath);
if (in_array($role, $layout_link_no_access_roles)) {
$this->assertFalse($link_exists, 'No access to layout dropbutton.');
}
else {
$this->assertTrue($link_exists, 'Has access to layout dropbutton.');
}
}
else {
$this->assertSession()->statusCodeEquals(403);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment