]> BookStack Code Mirror - bookstack/blobdiff - tests/Entity/EntitySearchTest.php
Add Slovak translation
[bookstack] / tests / Entity / EntitySearchTest.php
index cfdabdb0ac9efbe500aa2a20017538899e4d0bb7..4ef8d46fbf0643815540633d149d71d402e23629 100644 (file)
@@ -1,8 +1,6 @@
-<?php
+<?php namespace Tests;
 
-use Illuminate\Support\Facades\DB;
-
-class EntitySearchTest extends TestCase
+class EntitySearchTest extends BrowserKitTest
 {
 
     public function test_page_search()
@@ -15,8 +13,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());
     }
 
@@ -97,6 +95,39 @@ class EntitySearchTest extends TestCase
             ->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();