Files
sure/test/controllers/chats_controller_test.rb
T

52 lines
1.2 KiB
Ruby

require "test_helper"
class ChatsControllerTest < ActionDispatch::IntegrationTest
setup do
@user = users(:family_admin)
@family = families(:dylan_family)
sign_in @user
end
test "gets index" do
get chats_url
assert_response :success
end
test "creates chat" do
assert_difference("Chat.count") do
post chats_url, params: { chat: { content: "Hello", ai_model: "gpt-4.1" } }
end
assert_redirected_to chat_path(Chat.order(created_at: :desc).first, thinking: true)
end
test "shows chat" do
chat = chats(:one)
@user.update!(last_viewed_chat: nil)
get chat_url(chat)
assert_response :success
assert_equal chat, @user.reload.last_viewed_chat
end
test "destroys chat" do
assert_difference("Chat.count", -1) do
delete chat_url(chats(:one))
end
assert_redirected_to chats_url
end
test "should not allow access to other user's chats" do
other_user = users(:family_member)
other_chat = Chat.create!(user: other_user, title: "Other User's Chat")
get chat_url(other_chat)
assert_response :not_found
delete chat_url(other_chat)
assert_response :not_found
end
end