defmodule ElixirAiWeb.ChatLiveTest do use ElixirAiWeb.ConnCase, async: false import ElixirAi.PubsubTopics, only: [chat_topic: 1] setup do stub(ElixirAi.ConversationManager, :open_conversation, fn _name -> {:ok, %{messages: [], streaming_response: nil, provider: nil}} end) :ok end test "displays a db error when a db_error message is broadcast", %{conn: conn} do {:ok, view, _html} = live(conn, ~p"/chat/test_conv") Phoenix.PubSub.broadcast( ElixirAi.PubSub, chat_topic("test_conv"), {:db_error, "unique constraint violated"} ) assert render(view) =~ "unique constraint violated" end end