From 6fae129a123f4f6e8c7aa06d93924dadcc0424ec Mon Sep 17 00:00:00 2001
From: l26yan <l26yan@uwaterloo.ca>
Date: Fri, 18 Jun 2021 13:26:41 -0400
Subject: [PATCH] ISTWCMS-4862 Test helf text when creating catalog item nodes
 without catalog term

---
 tests/src/Functional/UwWcmsBasicTest.php | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/tests/src/Functional/UwWcmsBasicTest.php b/tests/src/Functional/UwWcmsBasicTest.php
index 3748b5b7d..0b8b0a007 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']);
       }
     }
 
-- 
GitLab