fix: display on-call user names instead of emails on schedule index
Update add_member test to use phx-change select instead of form submit.
This commit is contained in:
parent
7a83b13faa
commit
3bba1a6289
3 changed files with 14 additions and 7 deletions
|
|
@ -39,10 +39,20 @@ defmodule ToweropsWeb.ScheduleLive.Index do
|
|||
schedules_with_on_call =
|
||||
Enum.map(schedules, fn schedule ->
|
||||
on_call = OnCall.who_is_on_call(schedule.id)
|
||||
Map.put(schedule, :current_on_call, on_call)
|
||||
|
||||
schedule
|
||||
|> Map.put(:current_on_call, on_call)
|
||||
|> Map.put(:current_on_call_name, display_name(on_call))
|
||||
end)
|
||||
|
||||
assign(socket, :schedules, schedules_with_on_call)
|
||||
end
|
||||
end
|
||||
|
||||
defp display_name(%{first_name: first, last_name: last}) when first != nil and last != nil do
|
||||
"#{first} #{last}"
|
||||
end
|
||||
|
||||
defp display_name(%{email: email}), do: email
|
||||
defp display_name(nil), do: nil
|
||||
end
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@
|
|||
<%= if schedule.current_on_call do %>
|
||||
<span class="inline-flex items-center gap-1.5">
|
||||
<span class="h-2 w-2 rounded-full bg-green-500"></span>
|
||||
{schedule.current_on_call.email}
|
||||
{schedule.current_on_call_name}
|
||||
</span>
|
||||
<% else %>
|
||||
<span class="text-gray-400 dark:text-gray-500">{t("No one")}</span>
|
||||
|
|
|
|||
|
|
@ -245,11 +245,8 @@ defmodule ToweropsWeb.ScheduleLiveTest do
|
|||
{:ok, view, _html} = live(conn, ~p"/schedules/#{schedule.id}")
|
||||
|
||||
view
|
||||
|> form("form[phx-submit='add_member']", %{
|
||||
layer_id: layer.id,
|
||||
user_id: user.id
|
||||
})
|
||||
|> render_submit()
|
||||
|> element("select[phx-change='add_member'][phx-value-layer_id='#{layer.id}']")
|
||||
|> render_change(%{"user_id" => user.id, "layer_id" => layer.id})
|
||||
|
||||
html = render(view)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue