mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-23 07:09:39 +02:00
* Add lookbook + viewcomponent, organize design system file * Build menu component * Button updates * More button fixes * Replace all menus with new ViewComponent * Checkpoint: fix tests, all buttons and menus converted * Split into Link and Button components for clarity * Button cleanup * Simplify custom confirmation configuration in views * Finalize button, link component API * Add toggle field to custom form builder + Component * Basic tabs component * Custom tabs, convert all menu / tab instances in app * Gem updates * Centralized icon helper * Update all icon usage to central helper * Lint fixes * Centralize all disclosure instances * Dialog replacements * Consolidation of all dialog styles * Test fixes * Fix app layout issues, move to component with slots * Layout simplification * Flakey test fix * Fix dashboard mobile issues * Finalize homepage * Lint fixes * Fix shadows and borders in dark mode * Fix tests * Remove stale class * Fix filled icon logic * Move transparent? to public interface
66 lines
1.4 KiB
Ruby
66 lines
1.4 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 Maybe 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
|