X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/fff5bbcee458992443e3732fbcbbbe34f765fcc3..refs/pull/234/head:/tests/Entity/EntitySearchTest.php diff --git a/tests/Entity/EntitySearchTest.php b/tests/Entity/EntitySearchTest.php index 8adfd35a3..3f60f9c36 100644 --- a/tests/Entity/EntitySearchTest.php +++ b/tests/Entity/EntitySearchTest.php @@ -15,8 +15,8 @@ class EntitySearchTest extends TestCase ->type($page->name, 'term') ->press('header-search-box-button') ->see('Search Results') - ->see($page->name) - ->click($page->name) + ->seeInElement('.entity-list', $page->name) + ->clickInElement('.entity-list', $page->name) ->seePageIs($page->getUrl()); } @@ -91,6 +91,45 @@ class EntitySearchTest extends TestCase ->see('Book Search Results')->see('.entity-list', $book->name); } + public function test_searching_hypen_doesnt_break() + { + $this->visit('/search/all?term=cat+-') + ->seeStatusCode(200); + } + + public function test_tag_search() + { + $newTags = [ + new \BookStack\Tag([ + 'name' => 'animal', + 'value' => 'cat' + ]), + new \BookStack\Tag([ + 'name' => 'color', + 'value' => 'red' + ]) + ]; + + $pageA = \BookStack\Page::first(); + $pageA->tags()->saveMany($newTags); + + $pageB = \BookStack\Page::all()->last(); + $pageB->tags()->create(['name' => 'animal', 'value' => 'dog']); + + $this->asAdmin()->visit('/search/all?term=%5Banimal%5D') + ->seeLink($pageA->name) + ->seeLink($pageB->name); + + $this->visit('/search/all?term=%5Bcolor%5D') + ->seeLink($pageA->name) + ->dontSeeLink($pageB->name); + + $this->visit('/search/all?term=%5Banimal%3Dcat%5D') + ->seeLink($pageA->name) + ->dontSeeLink($pageB->name); + + } + public function test_ajax_entity_search() { $page = \BookStack\Page::all()->last();