centralizing pubsub topics
Some checks failed
CI/CD Pipeline / build (push) Failing after 4s

This commit is contained in:
2026-03-13 15:29:20 -06:00
parent 0fd243d259
commit 927c19dd17
10 changed files with 75 additions and 17 deletions

View File

@@ -0,0 +1,26 @@
defmodule ElixirAiWeb.ChatLiveTest do
use ElixirAiWeb.ConnCase, async: false
import ElixirAi.PubsubTopics, only: [conversation_message_topic: 1]
setup do
stub(ElixirAi.ConversationManager, :open_conversation, fn _name -> {:ok, self()} end)
stub(ElixirAi.ChatRunner, :get_conversation, fn _name ->
%{messages: [], streaming_response: 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,
conversation_message_topic("test_conv"),
{:db_error, "unique constraint violated"}
)
assert render(view) =~ "unique constraint violated"
end
end

View File

@@ -16,6 +16,7 @@ defmodule ElixirAiWeb.ConnCase do
"""
use ExUnit.CaseTemplate
use Mimic
using do
quote do
@@ -27,11 +28,18 @@ defmodule ElixirAiWeb.ConnCase do
# Import conveniences for testing with connections
import Plug.Conn
import Phoenix.ConnTest
import Phoenix.LiveViewTest
import ElixirAiWeb.ConnCase
use Mimic
end
end
setup :set_mimic_global
setup _tags do
stub(ElixirAi.Data.DbHelpers, :run_sql, fn _sql, _params, _topic -> [] end)
stub(ElixirAi.Data.DbHelpers, :run_sql, fn _sql, _params, _topic, _schema -> [] end)
stub(ElixirAi.ChatUtils, :request_ai_response, fn _server, _messages, _tools -> :ok end)
{:ok, conn: Phoenix.ConnTest.build_conn()}
end
end

View File

@@ -1,3 +1,5 @@
ExUnit.start()
Mimic.copy(ElixirAi.Data.DbHelpers)
Mimic.copy(ElixirAi.ChatUtils)
Mimic.copy(ElixirAi.ConversationManager)
Mimic.copy(ElixirAi.ChatRunner)