summaryrefslogtreecommitdiff
path: root/test/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'test/controllers')
-rw-r--r--test/controllers/admin_controller_test.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/controllers/admin_controller_test.rb b/test/controllers/admin_controller_test.rb
index 13cc1bb..9beaf58 100644
--- a/test/controllers/admin_controller_test.rb
+++ b/test/controllers/admin_controller_test.rb
@@ -34,4 +34,28 @@ class AdminControllerTest < ActionController::TestCase
34 matches = assigns(:mynodes).select { |n| n.id == node.id } 34 matches = assigns(:mynodes).select { |n| n.id == node.id }
35 assert_equal 1, matches.length 35 assert_equal 1, matches.length
36 end 36 end
37
38 test "dashboard_search returns matching tags and nodes grouped separately" do
39 node = Node.root.children.create!(:slug => "dashboard_search_test")
40 node.find_or_create_draft(User.find_by_login("aaron"))
41 node.draft.update(:title => "Biometrics Workshop")
42 node.draft.tag_list = "biometrics-workshop"
43 node.draft.save!
44
45 login_as :quentin
46 get :dashboard_search, params: { :search_term => "biometr" }, :format => :json
47
48 json = JSON.parse(response.body)
49 assert json["tags"].any? { |t| t["name"] == "biometrics-workshop" }
50 assert json["nodes"].any? { |n| n["title"] == "Biometrics Workshop" }
51 end
52
53 test "dashboard_search returns empty results for a blank term" do
54 login_as :quentin
55 get :dashboard_search, params: { :search_term => "" }, :format => :json
56
57 json = JSON.parse(response.body)
58 assert_equal [], json["tags"]
59 assert_equal [], json["nodes"]
60 end
37end 61end