diff --git a/tests/src/Functional/UwWcmsBasicTest.php b/tests/src/Functional/UwWcmsBasicTest.php index 3748b5b7def37e20884afdfd33480a25654bf691..0b8b0a007a6611032fd07b37bf8c4874445bc30c 100644 --- a/tests/src/Functional/UwWcmsBasicTest.php +++ b/tests/src/Functional/UwWcmsBasicTest.php @@ -375,6 +375,21 @@ class UwWcmsBasicTest extends BrowserTestBase { // The message is displayed when creating a catalog item // without a catalog term created. $this->assertSession()->pageTextContains('You must create at least one catalog before adding a catalog item.'); + // Content Author default has 'create terms in uw_vocab_catalogs', + // so when creating a catalog node, 'Add a catalog' link + // shows without any catalog term created. + $this->assertSession()->linkExists('Add a catalog'); + $href = $this->getSession()->getPage()->find('xpath', "//a[contains(text(), 'Add a catalog.')]"); + $this->assertEquals(base_path() . 'admin/structure/taxonomy/manage/uw_vocab_catalogs/add', $href->getAttribute('href')); + // Revoke Content Author 'create terms in uw_vocab_catalogs' permission. + user_role_revoke_permissions('uw_role_content_author', ['create terms in uw_vocab_catalogs']); + // When creating catalog node, the help text shows + // without any catalog term created. + $this->drupalGet($type); + $this->assertSession()->pageTextContains('Reach out to someone who has access to add a catalog.'); + // Grant Content Author 'create terms in uw_vocab_catalogs' + // permission again for late use. + user_role_grant_permissions('uw_role_content_author', ['create terms in uw_vocab_catalogs']); } }