From 221458ccfd70e1b2c6791018792732b247e55d65 Mon Sep 17 00:00:00 2001
From: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat, 13 Nov 2021 13:43:41 +0000
Subject: [PATCH] Fixed failing tests due to search highlighting changes

---
 app/Entities/Tools/SearchIndex.php |  2 +-
 tests/Entity/EntitySearchTest.php  | 11 ++++++++---
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/app/Entities/Tools/SearchIndex.php b/app/Entities/Tools/SearchIndex.php
index 702606be9..d748c1695 100644
--- a/app/Entities/Tools/SearchIndex.php
+++ b/app/Entities/Tools/SearchIndex.php
@@ -223,7 +223,7 @@ class SearchIndex
         if ($entity instanceof Page) {
             $bodyTermsMap = $this->generateTermScoreMapFromHtml($entity->html);
         } else {
-            $bodyTermsMap = $this->generateTermScoreMapFromText($entity->description, $entity->searchFactor);
+            $bodyTermsMap = $this->generateTermScoreMapFromText($entity->description ?? '', $entity->searchFactor);
         }
 
         $mergedScoreMap = $this->mergeTermScoreMaps($nameTermsMap, $bodyTermsMap, $tagTermsMap);
diff --git a/tests/Entity/EntitySearchTest.php b/tests/Entity/EntitySearchTest.php
index f935f1331..0ef46d3a7 100644
--- a/tests/Entity/EntitySearchTest.php
+++ b/tests/Entity/EntitySearchTest.php
@@ -18,15 +18,20 @@ class EntitySearchTest extends TestCase
 
         $search = $this->asEditor()->get('/search?term=' . urlencode($page->name));
         $search->assertSee('Search Results');
-        $search->assertSee($page->name);
+
+        $title = strip_tags($search->getElementHtml('.entity-list-item-name'));
+        $this->assertEquals($page->name, $title);
     }
 
     public function test_bookshelf_search()
     {
-        $shelf = Bookshelf::first();
+        /** @var Bookshelf $shelf */
+        $shelf = Bookshelf::query()->first();
         $search = $this->asEditor()->get('/search?term=' . urlencode(mb_substr($shelf->name, 0, 3)) . '  {type:bookshelf}');
         $search->assertStatus(200);
-        $search->assertSee($shelf->name);
+
+        $title = strip_tags($search->getElementHtml('.entity-list-item-name'));
+        $this->assertEquals($shelf->name, $title);
     }
 
     public function test_invalid_page_search()