mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-02-21 20:20:34 +09:00
49 lines
1.2 KiB
Ruby
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
|