mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 13:19:39 +02:00
67 lines
1.5 KiB
Ruby
67 lines
1.5 KiB
Ruby
|
require "application_system_test_case"
|
||
|
|
||
|
class ChatsTest < ApplicationSystemTestCase
|
||
|
setup do
|
||
|
@user = users(:family_admin)
|
||
|
login_as(@user)
|
||
|
end
|
||
|
|
||
|
test "sidebar shows consent if ai is disabled for user" do
|
||
|
@user.update!(ai_enabled: false)
|
||
|
|
||
|
visit root_path
|
||
|
|
||
|
within "#chat-container" do
|
||
|
assert_selector "h3", text: "Enable Personal Finance AI"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
test "sidebar shows index when enabled and chats are empty" do
|
||
|
@user.update!(ai_enabled: true)
|
||
|
@user.chats.destroy_all
|
||
|
|
||
|
visit root_url
|
||
|
|
||
|
within "#chat-container" do
|
||
|
assert_selector "h1", text: "Chats"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
test "sidebar shows last viewed chat" do
|
||
|
@user.update!(ai_enabled: true)
|
||
|
|
||
|
click_on @user.chats.first.title
|
||
|
|
||
|
# Page refresh
|
||
|
visit root_url
|
||
|
|
||
|
# After page refresh, we're still on the last chat we were viewing
|
||
|
within "#chat-container" do
|
||
|
assert_selector "h1", text: @user.chats.first.title
|
||
|
end
|
||
|
end
|
||
|
|
||
|
test "create chat and navigate chats sidebar" do
|
||
|
@user.chats.destroy_all
|
||
|
|
||
|
visit root_url
|
||
|
|
||
|
Chat.any_instance.expects(:ask_assistant_later).once
|
||
|
|
||
|
within "#chat-form" do
|
||
|
fill_in "chat[content]", with: "Can you help with my finances?"
|
||
|
find("button[type='submit']").click
|
||
|
end
|
||
|
|
||
|
assert_text "Can you help with my finances?"
|
||
|
|
||
|
find("#chat-nav-back").click
|
||
|
|
||
|
assert_selector "h1", text: "Chats"
|
||
|
|
||
|
click_on @user.chats.reload.first.title
|
||
|
|
||
|
assert_text "Can you help with my finances?"
|
||
|
end
|
||
|
end
|