X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/544ece03a54a0a261206e1e60db59fc7a35c013a..refs/pull/1881/head:/tests/Entity/EntitySearchTest.php diff --git a/tests/Entity/EntitySearchTest.php b/tests/Entity/EntitySearchTest.php index 9f77972c4..3eb50a412 100644 --- a/tests/Entity/EntitySearchTest.php +++ b/tests/Entity/EntitySearchTest.php @@ -1,12 +1,16 @@ first(); + $book = \BookStack\Entities\Book::all()->first(); $page = $book->pages->first(); $search = $this->asEditor()->get('/search?term=' . urlencode($page->name)); @@ -14,6 +18,14 @@ class EntitySearchTest extends TestCase $search->assertSee($page->name); } + public function test_bookshelf_search() + { + $shelf = Bookshelf::first(); + $search = $this->asEditor()->get('/search?term=' . urlencode(mb_substr($shelf->name, 0, 3)) . ' {type:bookshelf}'); + $search->assertStatus(200); + $search->assertSee($shelf->name); + } + public function test_invalid_page_search() { $resp = $this->asEditor()->get('/search?term=' . urlencode('
test
')); @@ -30,19 +42,19 @@ class EntitySearchTest extends TestCase public function test_searching_accents_and_small_terms() { - $page = $this->newPage(['name' => 'My new test quaffleachits', 'html' => 'some áéÃÃúü¿¡ test content {a2 orange dog']); + $page = $this->newPage(['name' => 'My new test quaffleachits', 'html' => 'some áéÃÃúü¿¡ test content a2 orange dog']); $this->asEditor(); $accentSearch = $this->get('/search?term=' . urlencode('áéÃÃ')); $accentSearch->assertStatus(200)->assertSee($page->name); - $smallSearch = $this->get('/search?term=' . urlencode('{a')); + $smallSearch = $this->get('/search?term=' . urlencode('a2')); $smallSearch->assertStatus(200)->assertSee($page->name); } public function test_book_search() { - $book = \BookStack\Book::all()->first(); + $book = \BookStack\Entities\Book::first(); $page = $book->pages->last(); $chapter = $book->chapters->last(); @@ -55,7 +67,7 @@ class EntitySearchTest extends TestCase public function test_chapter_search() { - $chapter = \BookStack\Chapter::has('pages')->first(); + $chapter = \BookStack\Entities\Chapter::has('pages')->first(); $page = $chapter->pages[0]; $pageTestResp = $this->asEditor()->get('/search/chapter/' . $chapter->id . '?term=' . urlencode($page->name)); @@ -65,20 +77,20 @@ class EntitySearchTest extends TestCase public function test_tag_search() { $newTags = [ - new \BookStack\Tag([ + new \BookStack\Actions\Tag([ 'name' => 'animal', 'value' => 'cat' ]), - new \BookStack\Tag([ + new \BookStack\Actions\Tag([ 'name' => 'color', 'value' => 'red' ]) ]; - $pageA = \BookStack\Page::first(); + $pageA = Page::first(); $pageA->tags()->saveMany($newTags); - $pageB = \BookStack\Page::all()->last(); + $pageB = Page::all()->last(); $pageB->tags()->create(['name' => 'animal', 'value' => 'dog']); $this->asEditor(); @@ -160,8 +172,8 @@ class EntitySearchTest extends TestCase public function test_ajax_entity_search() { - $page = \BookStack\Page::all()->last(); - $notVisitedPage = \BookStack\Page::first(); + $page = $this->newPage(['name' => 'my ajax search test', 'html' => 'ajax test']); + $notVisitedPage = Page::first(); // Visit the page to make popular $this->asEditor()->get($page->getUrl()); @@ -176,4 +188,20 @@ class EntitySearchTest extends TestCase $defaultListTest->assertSee($page->name); $defaultListTest->assertDontSee($notVisitedPage->name); } + + public function test_ajax_entity_serach_shows_breadcrumbs() + { + $chapter = Chapter::first(); + $page = $chapter->pages->first(); + $this->asEditor(); + + $pageSearch = $this->get('/ajax/search/entities?term=' . urlencode($page->name)); + $pageSearch->assertSee($page->name); + $pageSearch->assertSee($chapter->getShortName(42)); + $pageSearch->assertSee($page->book->getShortName(42)); + + $chapterSearch = $this->get('/ajax/search/entities?term=' . urlencode($chapter->name)); + $chapterSearch->assertSee($chapter->name); + $chapterSearch->assertSee($chapter->book->getShortName(42)); + } }