Files
once-campfire/test/controllers/searches_controller_test.rb
Kevin McConnell df76a227dc Hello world
First open source release of Campfire 🎉
2025-08-21 09:31:59 +01:00

49 lines
1.2 KiB
Ruby

require "test_helper"
class SearchesControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in :david
@message = rooms(:designers).messages.create! body: "Hello world!", client_message_id: "search", creator: users(:david)
end
test "index initial view" do
get searches_url
assert_response :success
assert_select ".message", count: 0
end
test "finding reachable messages" do
get searches_url, params: { q: "hello" }
assert_response :success
assert_select ".message", text: /Hello world!/
end
test "unreachable messages are not found" do
memberships(:david_designers).destroy!
get searches_url, params: { q: "hello" }
assert_response :success
assert_select ".message", count: 0
end
test "create saves the search term" do
assert_difference -> { users(:david).searches.count }, +1 do
post searches_url, params: { q: "hello" }
end
assert_redirected_to searches_url(q: "hello")
assert users(:david).searches.exists?(query: "hello")
end
test "clear search history" do
assert users(:david).searches.any?
delete clear_searches_url
assert users(:david).searches.none?
end
end