hide system events by default on activity page
All checks were successful
deploy / deploy (push) Successful in 1h1m58s
All checks were successful
deploy / deploy (push) Successful in 1h1m58s
Adds a toggle to show/hide internal system events (syncs, job failures, abandoned cart creation) on the activity feed. Hidden by default so shop owners only see actionable items. Toggle is ephemeral — resets on page load. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -34,13 +34,13 @@ defmodule BerrypodWeb.Admin.ActivityTest do
|
||||
end
|
||||
|
||||
test "renders activity entries", %{conn: conn} do
|
||||
ActivityLog.log_event("sync.completed", "Product sync finished")
|
||||
ActivityLog.log_event("order.created", "Order placed")
|
||||
ActivityLog.log_event("order.shipped", "Order shipped")
|
||||
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/activity")
|
||||
|
||||
assert html =~ "Product sync finished"
|
||||
assert html =~ "Order placed"
|
||||
assert html =~ "Order shipped"
|
||||
end
|
||||
|
||||
test "links to order when order_id present", %{conn: conn} do
|
||||
@@ -72,6 +72,8 @@ defmodule BerrypodWeb.Admin.ActivityTest do
|
||||
|
||||
{:ok, view, _html} = live(conn, ~p"/admin/activity")
|
||||
|
||||
# Enable system events so sync.completed is visible
|
||||
render_click(view, "toggle_system")
|
||||
html = render_click(view, "category", %{"category" => "syncs"})
|
||||
|
||||
assert html =~ "Sync done"
|
||||
@@ -129,7 +131,11 @@ defmodule BerrypodWeb.Admin.ActivityTest do
|
||||
payload: %{connection_id: Ecto.UUID.generate()}
|
||||
)
|
||||
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/activity?tab=attention")
|
||||
{:ok, view, _html} = live(conn, ~p"/admin/activity?tab=attention")
|
||||
|
||||
# sync.failed is a system event, hidden by default
|
||||
render_click(view, "toggle_system")
|
||||
html = render(view)
|
||||
|
||||
assert html =~ "Retry sync"
|
||||
end
|
||||
@@ -137,10 +143,26 @@ defmodule BerrypodWeb.Admin.ActivityTest do
|
||||
test "updates via PubSub", %{conn: conn} do
|
||||
{:ok, view, _html} = live(conn, ~p"/admin/activity")
|
||||
|
||||
ActivityLog.log_event("sync.started", "Sync kicked off")
|
||||
ActivityLog.log_event("order.created", "New order arrived")
|
||||
|
||||
html = render(view)
|
||||
assert html =~ "Sync kicked off"
|
||||
assert html =~ "New order arrived"
|
||||
end
|
||||
|
||||
test "system events hidden by default, shown after toggle", %{conn: conn} do
|
||||
ActivityLog.log_event("sync.completed", "Sync done")
|
||||
ActivityLog.log_event("order.created", "Order placed")
|
||||
|
||||
{:ok, view, html} = live(conn, ~p"/admin/activity")
|
||||
|
||||
# System events hidden by default
|
||||
refute html =~ "Sync done"
|
||||
assert html =~ "Order placed"
|
||||
|
||||
# Toggle shows system events
|
||||
html = render_click(view, "toggle_system")
|
||||
assert html =~ "Sync done"
|
||||
assert html =~ "Order placed"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user