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

52 lines
1.4 KiB
Ruby

require "test_helper"
class Rooms::OpensControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in :david
end
test "show redirects to get general show" do
get rooms_open_url(users(:david).rooms.opens.last)
assert_redirected_to room_url(users(:david).rooms.opens.last)
end
test "new" do
get new_rooms_open_url
assert_response :success
end
test "create" do
assert_turbo_stream_broadcasts :rooms, count: 1 do
post rooms_opens_url, params: { room: { name: "My New Room" } }
end
assert_equal Room.last.memberships.count, User.count
assert_redirected_to room_url(Room.last)
end
test "only admins or creators can update" do
sign_in :jz
assert_turbo_stream_broadcasts :rooms, count: 0 do
put rooms_open_url(rooms(:hq)), params: { room: { name: "New Name" } }
end
assert_response :forbidden
assert rooms(:hq).reload.name, "HQ"
end
test "update" do
assert_turbo_stream_broadcasts :rooms, count: 1 do
put rooms_open_url(rooms(:pets)), params: { room: { name: "New Name" } }
end
assert_redirected_to room_url(rooms(:pets))
assert rooms(:pets).reload.name, "New Name"
end
test "update a closed room to be open" do
put rooms_open_url(rooms(:designers)), params: { room: { name: "Doesn't matter" } }
assert_equal rooms(:designers).memberships.count, User.count
end
end