diff --git a/lib/admin_web/components/layouts.ex b/lib/admin_web/components/layouts.ex index 21df18475..0461d1904 100644 --- a/lib/admin_web/components/layouts.ex +++ b/lib/admin_web/components/layouts.ex @@ -161,20 +161,20 @@ defmodule AdminWeb.Layouts do class="menu menu-sm dropdown-content bg-base-100 rounded-box z-1 mt-3 w-52 p-2 shadow" >
  • - <.link navigate={~p"/published_items"}>Publications + <.link navigate={~p"/admin/published_items"}>Publications
  • -
  • <.link navigate={~p"/publishers"}>Apps
  • -
  • <.link navigate={~p"/notifications"}>Mailing
  • -
  • <.link navigate={~p"/users"}>Admins
  • -
  • <.link navigate={~p"/analytics/graph"}>Analytics
  • +
  • <.link navigate={~p"/admin/publishers"}>Apps
  • +
  • <.link navigate={~p"/admin/notifications"}>Mailing
  • +
  • <.link navigate={~p"/admin/users"}>Admins
  • +
  • <.link navigate={~p"/admin/analytics/graph"}>Analytics
  • Development
  • @@ -183,20 +183,20 @@ defmodule AdminWeb.Layouts do <%= if @current_scope do %> {@current_scope.user.email} - <.link class="btn btn-soft" navigate={~p"/users/settings"}> + <.link class="btn btn-soft" navigate={~p"/admin/users/settings"}> <.icon name="hero-cog" class="size-5 " /> Settings - <.link class="btn btn-soft" href={~p"/users/log-out"} method="delete"> + <.link class="btn btn-soft" href={~p"/admin/users/log-out"} method="delete"> <.icon name="hero-arrow-right-on-rectangle" class="size-5 " /> Log out <% else %> - <.link class="btn btn-ghost" href={~p"/users/log-in"}>Log in + <.link class="btn btn-ghost" href={~p"/admin/users/log-in"}>Log in <% end %> <% end %> - <.link navigate={~p"/dashboard"} class="btn btn-ghost text-xl"> + <.link navigate={~p"/admin/dashboard"} class="btn btn-ghost text-xl"> Admin @@ -208,22 +208,22 @@ defmodule AdminWeb.Layouts do
    Publications
    -
  • <.link navigate={~p"/publishers"}>Apps
  • -
  • <.link navigate={~p"/notifications"}>Mailing
  • -
  • <.link navigate={~p"/users"}>Admins
  • -
  • <.link navigate={~p"/analytics/graph"}>Analytics
  • +
  • <.link navigate={~p"/admin/publishers"}>Apps
  • +
  • <.link navigate={~p"/admin/notifications"}>Mailing
  • +
  • <.link navigate={~p"/admin/users"}>Admins
  • +
  • <.link navigate={~p"/admin/analytics/graph"}>Analytics
  • Development
  • @@ -234,14 +234,19 @@ defmodule AdminWeb.Layouts do <.theme_toggle /> diff --git a/lib/admin_web/controllers/admin_html/dashboard.html.heex b/lib/admin_web/controllers/admin_html/dashboard.html.heex index a12fe74db..433c92bef 100644 --- a/lib/admin_web/controllers/admin_html/dashboard.html.heex +++ b/lib/admin_web/controllers/admin_html/dashboard.html.heex @@ -23,13 +23,13 @@
    -

    <.link href="/maintenance">Planned Maintenance

    +

    <.link navigate={~p"/admin/maintenance"}>Planned Maintenance

    Showing {length(@maintenances)} upcoming events. - <.link class="link" navigate={~p"/maintenance"}>View all + <.link class="link" navigate={~p"/admin/maintenance"}>View all
    - <.button navigate={~p"/maintenance/new"}> + <.button navigate={~p"/admin/maintenance/new"}> <.icon name="hero-plus" /> New
    @@ -37,7 +37,7 @@ <%= for maintenance <- @maintenances do %> <% end %> <%= if length(@maintenances) == 0 do %> @@ -54,16 +54,16 @@

    Recent Publications

    Showing {length(@publications)} most recent. - <.link class="link" navigate={~p"/published_items"}>View all + <.link class="link" navigate={~p"/admin/published_items"}>View all
    - <.button navigate={~p"/published_items"}>View all + <.button navigate={~p"/admin/published_items"}>View all
    <%= for publication <- @publications do %> <:action> - <.button navigate={~p"/published_items/#{publication}"} class="btn btn-soft"> + <.button navigate={~p"/admin/published_items/#{publication}"} class="btn btn-soft"> Manage @@ -74,7 +74,7 @@ <:action> - <.button navigate={~p"/"}>View + <.button navigate={~p"/admin"}>View <:placeholder /> <:placeholder /> @@ -83,7 +83,7 @@ <:action> - <.button navigate={~p"/"}>View + <.button navigate={~p"/admin"}>View <:placeholder /> <:placeholder /> diff --git a/lib/admin_web/controllers/landing_html/home.html.heex b/lib/admin_web/controllers/landing_html/home.html.heex index 036629511..37d6944c7 100644 --- a/lib/admin_web/controllers/landing_html/home.html.heex +++ b/lib/admin_web/controllers/landing_html/home.html.heex @@ -3,11 +3,11 @@
    <%= if @current_scope do %>

    You are logged in!

    - <.link navigate={~p"/dashboard"} class="btn btn-primary">Dashboard + <.link navigate={~p"/admin/dashboard"} class="btn btn-primary">Dashboard <% else %>

    Admin

    - <.link navigate={~p"/users/log-in"} class="btn btn-primary"> + <.link navigate={~p"/admin/users/log-in"} class="btn btn-primary"> Log in

    diff --git a/lib/admin_web/controllers/planned_maintenance_controller.ex b/lib/admin_web/controllers/planned_maintenance_controller.ex index 54b480539..8ad71a28d 100644 --- a/lib/admin_web/controllers/planned_maintenance_controller.ex +++ b/lib/admin_web/controllers/planned_maintenance_controller.ex @@ -19,7 +19,7 @@ defmodule AdminWeb.PlannedMaintenanceController do {:ok, planned_maintenance} -> conn |> put_flash(:info, "Planned maintenance created successfully.") - |> redirect(to: ~p"/maintenance/#{planned_maintenance}") + |> redirect(to: ~p"/admin/maintenance/#{planned_maintenance}") {:error, %Ecto.Changeset{} = changeset} -> render(conn, :new, changeset: changeset) @@ -44,7 +44,7 @@ defmodule AdminWeb.PlannedMaintenanceController do {:ok, planned_maintenance} -> conn |> put_flash(:info, "Planned maintenance updated successfully.") - |> redirect(to: ~p"/maintenance/#{planned_maintenance}") + |> redirect(to: ~p"/admin/maintenance/#{planned_maintenance}") {:error, %Ecto.Changeset{} = changeset} -> render(conn, :edit, planned_maintenance: planned_maintenance, changeset: changeset) @@ -57,6 +57,6 @@ defmodule AdminWeb.PlannedMaintenanceController do conn |> put_flash(:info, "Planned maintenance deleted successfully.") - |> redirect(to: ~p"/maintenance") + |> redirect(to: ~p"/admin/maintenance") end end diff --git a/lib/admin_web/controllers/planned_maintenance_html/edit.html.heex b/lib/admin_web/controllers/planned_maintenance_html/edit.html.heex index d617a545a..04700f736 100644 --- a/lib/admin_web/controllers/planned_maintenance_html/edit.html.heex +++ b/lib/admin_web/controllers/planned_maintenance_html/edit.html.heex @@ -5,7 +5,7 @@ <.planned_maintenance_form changeset={@changeset} - action={~p"/maintenance/#{@planned_maintenance}"} - return_to={~p"/maintenance"} + action={~p"/admin/maintenance/#{@planned_maintenance}"} + return_to={~p"/admin/maintenance"} /> diff --git a/lib/admin_web/controllers/planned_maintenance_html/index.html.heex b/lib/admin_web/controllers/planned_maintenance_html/index.html.heex index 07b733e5a..bbf3882a6 100644 --- a/lib/admin_web/controllers/planned_maintenance_html/index.html.heex +++ b/lib/admin_web/controllers/planned_maintenance_html/index.html.heex @@ -2,23 +2,27 @@ <.header> Listing Maintenances <:actions> - <.button href={~p"/maintenance/new"}> + <.button href={~p"/admin/maintenance/new"}> <.icon name="hero-plus" /> New Planned maintenance - <.table id="maintenance" rows={@maintenance} row_click={&JS.navigate(~p"/maintenance/#{&1}")}> + <.table + id="maintenance" + rows={@maintenance} + row_click={&JS.navigate(~p"/admin/maintenance/#{&1}")} + > <:col :let={planned_maintenance} label="Slug">{planned_maintenance.slug} <:action :let={planned_maintenance}>

    - <.link navigate={~p"/maintenance/#{planned_maintenance}"}>Show + <.link navigate={~p"/admin/maintenance/#{planned_maintenance}"}>Show
    - <.link navigate={~p"/maintenance/#{planned_maintenance}/edit"}>Edit + <.link navigate={~p"/admin/maintenance/#{planned_maintenance}/edit"}>Edit <:action :let={planned_maintenance}> <.link - href={~p"/maintenance/#{planned_maintenance}"} + href={~p"/admin/maintenance/#{planned_maintenance}"} method="delete" data-confirm="Are you sure?" > diff --git a/lib/admin_web/controllers/planned_maintenance_html/new.html.heex b/lib/admin_web/controllers/planned_maintenance_html/new.html.heex index 38b2f11c7..8e729ffb4 100644 --- a/lib/admin_web/controllers/planned_maintenance_html/new.html.heex +++ b/lib/admin_web/controllers/planned_maintenance_html/new.html.heex @@ -5,7 +5,7 @@ <.planned_maintenance_form changeset={@changeset} - action={~p"/maintenance"} - return_to={~p"/maintenance"} + action={~p"/admin/maintenance"} + return_to={~p"/admin/maintenance"} /> diff --git a/lib/admin_web/controllers/planned_maintenance_html/show.html.heex b/lib/admin_web/controllers/planned_maintenance_html/show.html.heex index 2dd7534f7..7789fe4c9 100644 --- a/lib/admin_web/controllers/planned_maintenance_html/show.html.heex +++ b/lib/admin_web/controllers/planned_maintenance_html/show.html.heex @@ -2,12 +2,12 @@ <.header> Planned maintenance "{@planned_maintenance.slug}" <:actions> - <.button navigate={~p"/dashboard"}> + <.button navigate={~p"/admin/dashboard"}> <.icon name="hero-arrow-left" /> <.button variant="primary" - navigate={~p"/maintenance/#{@planned_maintenance}/edit?return_to=show"} + navigate={~p"/admin/maintenance/#{@planned_maintenance}/edit?return_to=show"} > <.icon name="hero-pencil-square" /> Edit planned maintenance diff --git a/lib/admin_web/controllers/published_item_controller.ex b/lib/admin_web/controllers/published_item_controller.ex index 34301dc32..5359d971d 100644 --- a/lib/admin_web/controllers/published_item_controller.ex +++ b/lib/admin_web/controllers/published_item_controller.ex @@ -31,7 +31,7 @@ defmodule AdminWeb.PublishedItemController do {:ok, published_item} -> conn |> put_flash(:info, "Published item created successfully.") - |> redirect(to: ~p"/published_items/#{published_item}") + |> redirect(to: ~p"/admin/published_items/#{published_item}") {:error, %Ecto.Changeset{} = changeset} -> render(conn, :new, changeset: changeset) @@ -43,29 +43,12 @@ defmodule AdminWeb.PublishedItemController do render(conn, :show, published_item: published_item) end - # def edit(conn, %{"id" => id}) do - # published_item = Publications.get_published_item!(conn.assigns.current_scope, id) - # changeset = Publications.change_published_item(conn.assigns.current_scope, published_item) - # render(conn, :edit, published_item: published_item, changeset: changeset) - # end - - # def delete(conn, %{"id" => id}) do - # published_item = Publications.get_published_item!(conn.assigns.current_scope, id) - - # {:ok, _published_item} = - # Publications.delete_published_item(conn.assigns.current_scope, published_item) - - # conn - # |> put_flash(:info, "Published item deleted successfully.") - # |> redirect(to: ~p"/published_items") - # end - def search(conn, %{"published_item_search_form" => params}) do changeset = PublishedItemSearchForm.changeset(%PublishedItemSearchForm{}, params) if changeset.valid? do published_item_id = Ecto.Changeset.get_field(changeset, :published_item_id) - redirect(conn, to: ~p"/published_items/#{published_item_id}") + redirect(conn, to: ~p"/admin/published_items/#{published_item_id}") else published_items = Publications.list_published_items() diff --git a/lib/admin_web/controllers/published_item_html/index.html.heex b/lib/admin_web/controllers/published_item_html/index.html.heex index 0ea15b330..2b97c37e5 100644 --- a/lib/admin_web/controllers/published_item_html/index.html.heex +++ b/lib/admin_web/controllers/published_item_html/index.html.heex @@ -3,7 +3,7 @@ Published items <:actions> <.button - href={~p"/published_items/featured"} + href={~p"/admin/published_items/featured"} class="btn btn-soft btn-disabled" > <.icon name="hero-bolt" /> Featured collections @@ -11,7 +11,7 @@ - <.form :let={f} for={@changeset} action={~p"/published_items/search"} method="post"> + <.form :let={f} for={@changeset} action={~p"/admin/published_items/search"} method="post">
    <.input field={f[:item_id]} @@ -27,7 +27,7 @@ <.table id="published_items" rows={@published_items} - row_click={&JS.navigate(~p"/published_items/#{&1}")} + row_click={&JS.navigate(~p"/admin/published_items/#{&1}")} > <:col :let={published_item}> <.thumbnail @@ -50,7 +50,7 @@ <:action :let={published_item}>
    - <.link navigate={~p"/published_items/#{published_item}"}>Show + <.link navigate={~p"/admin/published_items/#{published_item}"}>Show
    diff --git a/lib/admin_web/controllers/published_item_html/new.html.heex b/lib/admin_web/controllers/published_item_html/new.html.heex index 2a6fba29a..1a07398f2 100644 --- a/lib/admin_web/controllers/published_item_html/new.html.heex +++ b/lib/admin_web/controllers/published_item_html/new.html.heex @@ -6,7 +6,7 @@ <.published_item_form changeset={@changeset} - action={~p"/published_items"} - return_to={~p"/published_items"} + action={~p"/admin/published_items"} + return_to={~p"/admin/published_items"} /> diff --git a/lib/admin_web/controllers/published_item_html/show.html.heex b/lib/admin_web/controllers/published_item_html/show.html.heex index ae6499287..845494577 100644 --- a/lib/admin_web/controllers/published_item_html/show.html.heex +++ b/lib/admin_web/controllers/published_item_html/show.html.heex @@ -6,7 +6,7 @@ <:actions> - <.button navigate={~p"/published_items"}> + <.button navigate={~p"/admin/published_items"}> <.icon name="hero-arrow-left" /> <%!-- <%= if @current_scope.user.id == @published_item.creator.id do %> @@ -57,7 +57,7 @@ <.link - href={~p"/published_items/#{@published_item}/unpublish"} + href={~p"/admin/published_items/#{@published_item}/unpublish"} class="btn btn-primary" > Unpublish diff --git a/lib/admin_web/controllers/user_html/show.html.heex b/lib/admin_web/controllers/user_html/show.html.heex index 6cbe7ecbb..d6d2e5c4f 100644 --- a/lib/admin_web/controllers/user_html/show.html.heex +++ b/lib/admin_web/controllers/user_html/show.html.heex @@ -2,7 +2,7 @@ <.header> View {@user.email} <:actions> - <.button navigate={~p"/users"}><.icon name="hero-arrow-left" /> + <.button navigate={~p"/admin/users"}><.icon name="hero-arrow-left" /> <.list> diff --git a/lib/admin_web/controllers/user_session_controller.ex b/lib/admin_web/controllers/user_session_controller.ex index e80b88dd3..d43484c96 100644 --- a/lib/admin_web/controllers/user_session_controller.ex +++ b/lib/admin_web/controllers/user_session_controller.ex @@ -25,7 +25,7 @@ defmodule AdminWeb.UserSessionController do _ -> conn |> put_flash(:error, "The link is invalid or it has expired.") - |> redirect(to: ~p"/users/log-in") + |> redirect(to: ~p"/admin/users/log-in") end end @@ -42,7 +42,7 @@ defmodule AdminWeb.UserSessionController do conn |> put_flash(:error, "Invalid email or password") |> put_flash(:email, String.slice(email, 0, 160)) - |> redirect(to: ~p"/users/log-in") + |> redirect(to: ~p"/admin/users/log-in") end end @@ -55,7 +55,7 @@ defmodule AdminWeb.UserSessionController do UserAuth.disconnect_sessions(expired_tokens) conn - |> put_session(:user_return_to, ~p"/users/settings") + |> put_session(:user_return_to, ~p"/admin/users/settings") |> create(params, "Password updated successfully!") end diff --git a/lib/admin_web/controllers/user_session_html/register.html.heex b/lib/admin_web/controllers/user_session_html/register.html.heex index 3b4d838d5..4aa05fbeb 100644 --- a/lib/admin_web/controllers/user_session_html/register.html.heex +++ b/lib/admin_web/controllers/user_session_html/register.html.heex @@ -8,6 +8,6 @@

    Ask an admin to create your account.

    - <.button navigate={~p"/users/log-in"}>Login + <.button navigate={~p"/admin/users/log-in"}>Login
    diff --git a/lib/admin_web/live/analytics_live/example.ex b/lib/admin_web/live/analytics_live/example.ex index af8ef0bdf..072363a52 100644 --- a/lib/admin_web/live/analytics_live/example.ex +++ b/lib/admin_web/live/analytics_live/example.ex @@ -14,7 +14,7 @@ defmodule AdminWeb.AnalyticsLive.Example do Vega lite chart example <:subtitle>Example of a Vega lite chart <:actions> - <.button href={~p"/analytics/events"}> + <.button href={~p"/admin/analytics/events"}> Event generation page diff --git a/lib/admin_web/live/app_instance_live/form.ex b/lib/admin_web/live/app_instance_live/form.ex index 1240a3ea6..27c5b3199 100644 --- a/lib/admin_web/live/app_instance_live/form.ex +++ b/lib/admin_web/live/app_instance_live/form.ex @@ -202,6 +202,6 @@ defmodule AdminWeb.AppInstanceLive.Form do end end - defp return_path(_scope, "index", _app_instance), do: ~p"/publishers" - defp return_path(_scope, "show", app_instance), do: ~p"/apps/#{app_instance}" + defp return_path(_scope, "index", _app_instance), do: ~p"/admin/publishers" + defp return_path(_scope, "show", app_instance), do: ~p"/admin/apps/#{app_instance}" end diff --git a/lib/admin_web/live/app_instance_live/show.ex b/lib/admin_web/live/app_instance_live/show.ex index d95a25d27..10448d89f 100644 --- a/lib/admin_web/live/app_instance_live/show.ex +++ b/lib/admin_web/live/app_instance_live/show.ex @@ -11,13 +11,13 @@ defmodule AdminWeb.AppInstanceLive.Show do App: {@app_instance.name} <:subtitle>This is a app_instance record from your database. <:actions> - <.button navigate={~p"/publishers"}> + <.button navigate={~p"/admin/publishers"}> <.icon name="hero-arrow-left" /> <.button variant="primary" navigate={ - ~p"/publishers/#{@app_instance.publisher}/apps/#{@app_instance}/edit?return_to=show" + ~p"/admin/publishers/#{@app_instance.publisher}/apps/#{@app_instance}/edit?return_to=show" } > <.icon name="hero-pencil-square" /> Edit @@ -88,7 +88,7 @@ defmodule AdminWeb.AppInstanceLive.Show do {:noreply, socket |> put_flash(:info, "App instance deleted.") - |> push_navigate(to: ~p"/publishers")} + |> push_navigate(to: ~p"/admin/publishers")} {:error, reason} -> {:noreply, socket |> put_flash(:error, reason) |> assign(:show_modal, false)} @@ -110,7 +110,7 @@ defmodule AdminWeb.AppInstanceLive.Show do {:noreply, socket |> put_flash(:error, "The current app_instance was deleted.") - |> push_navigate(to: ~p"/publishers")} + |> push_navigate(to: ~p"/admin/publishers")} end def handle_info({type, %Admin.Apps.AppInstance{}}, socket) diff --git a/lib/admin_web/live/notification_live/index.ex b/lib/admin_web/live/notification_live/index.ex index 021f3f0ff..9a3ab580e 100644 --- a/lib/admin_web/live/notification_live/index.ex +++ b/lib/admin_web/live/notification_live/index.ex @@ -9,7 +9,7 @@ defmodule AdminWeb.NotificationLive.Index do <.header> Mailing <:actions> - <.button variant="primary" navigate={~p"/notifications/new"}> + <.button variant="primary" navigate={~p"/admin/notifications/new"}> <.icon name="hero-plus" /> New Mail @@ -19,7 +19,9 @@ defmodule AdminWeb.NotificationLive.Index do <.table id="notifications" rows={@streams.notifications} - row_click={fn {_id, notification} -> JS.navigate(~p"/notifications/#{notification}") end} + row_click={ + fn {_id, notification} -> JS.navigate(~p"/admin/notifications/#{notification}") end + } > <:col :let={{_id, notification}} label="Title">{notification.title} <:col :let={{_id, notification}} label="Message">{notification.message} @@ -29,7 +31,7 @@ defmodule AdminWeb.NotificationLive.Index do <:col :let={{_id, notification}} label="Sent">{length(notification.logs)} <:action :let={{_id, notification}}>
    - <.link navigate={~p"/notifications/#{notification}"}>Show + <.link navigate={~p"/admin/notifications/#{notification}"}>Show
    <:action :let={{id, notification}}> diff --git a/lib/admin_web/live/notification_live/new.ex b/lib/admin_web/live/notification_live/new.ex index 80bdb502e..8a7e29490 100644 --- a/lib/admin_web/live/notification_live/new.ex +++ b/lib/admin_web/live/notification_live/new.ex @@ -245,7 +245,7 @@ defmodule AdminWeb.NotificationLive.New do {:noreply, socket |> put_flash(:info, "Notification created") - |> push_navigate(to: ~p"/notifications")} + |> push_navigate(to: ~p"/admin/notifications")} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, diff --git a/lib/admin_web/live/notification_live/show.ex b/lib/admin_web/live/notification_live/show.ex index 102cce3b6..209b56945 100644 --- a/lib/admin_web/live/notification_live/show.ex +++ b/lib/admin_web/live/notification_live/show.ex @@ -10,7 +10,7 @@ defmodule AdminWeb.NotificationLive.Show do <.header> Message: {@notification.title} <:actions> - <.button navigate={~p"/notifications"}> + <.button navigate={~p"/admin/notifications"}> <.icon name="hero-arrow-left" /> @@ -64,7 +64,7 @@ defmodule AdminWeb.NotificationLive.Show do {:noreply, socket |> put_flash(:error, "The current notification was deleted.") - |> push_navigate(to: ~p"/notifications")} + |> push_navigate(to: ~p"/admin/notifications")} end def handle_info({type, %Admin.Notifications.Notification{}}, socket) diff --git a/lib/admin_web/live/published_item_live/unpublish.ex b/lib/admin_web/live/published_item_live/unpublish.ex index b8c532a35..822c72761 100644 --- a/lib/admin_web/live/published_item_live/unpublish.ex +++ b/lib/admin_web/live/published_item_live/unpublish.ex @@ -50,7 +50,7 @@ defmodule AdminWeb.PublishedItemLive.Unpublish do - <.button navigate={~p"/published_items/#{@published_item}"}> + <.button navigate={~p"/admin/published_items/#{@published_item}"}> <.icon name="hero-arrow-left" /> @@ -99,7 +99,7 @@ defmodule AdminWeb.PublishedItemLive.Unpublish do {:noreply, socket |> put_flash(:success, "Publication was removed and user notified") - |> push_navigate(to: ~p"/published_items")} + |> push_navigate(to: ~p"/admin/published_items")} {:error, changeset} -> {:noreply, assign(socket, removal_form: to_form(changeset))} @@ -118,6 +118,6 @@ defmodule AdminWeb.PublishedItemLive.Unpublish do {:noreply, socket |> put_flash(:error, "Publication was deleted") - |> push_navigate(to: ~p"/published_items")} + |> push_navigate(to: ~p"/admin/published_items")} end end diff --git a/lib/admin_web/live/publisher_live/form.ex b/lib/admin_web/live/publisher_live/form.ex index 321cf5c4e..233e0f1b7 100644 --- a/lib/admin_web/live/publisher_live/form.ex +++ b/lib/admin_web/live/publisher_live/form.ex @@ -142,6 +142,6 @@ defmodule AdminWeb.PublisherLive.Form do end end - defp return_path(_scope, "index", _publisher), do: ~p"/publishers" - defp return_path(_scope, "show", publisher), do: ~p"/publishers/#{publisher}" + defp return_path(_scope, "index", _publisher), do: ~p"/admin/publishers" + defp return_path(_scope, "show", publisher), do: ~p"/admin/publishers/#{publisher}" end diff --git a/lib/admin_web/live/publisher_live/index.ex b/lib/admin_web/live/publisher_live/index.ex index 622eebabd..780b3de40 100644 --- a/lib/admin_web/live/publisher_live/index.ex +++ b/lib/admin_web/live/publisher_live/index.ex @@ -10,7 +10,7 @@ defmodule AdminWeb.PublisherLive.Index do <.header> Listing Apps by Publishers <:actions> - <.button variant="primary" navigate={~p"/publishers/new"}> + <.button variant="primary" navigate={~p"/admin/publishers/new"}> <.icon name="hero-plus" /> New Publisher @@ -30,7 +30,7 @@ defmodule AdminWeb.PublisherLive.Index do class="align-middle mb-1 size-5 chevron transition-all duration-300" name="hero-chevron-down" /> - <.link navigate={~p"/publishers/#{publisher.id}"}> + <.link navigate={~p"/admin/publishers/#{publisher.id}"}> {publisher.name} <:subtitle> @@ -41,17 +41,17 @@ defmodule AdminWeb.PublisherLive.Index do
    <:actions> - <.button navigate={~p"/publishers/#{publisher.id}"}> + <.button navigate={~p"/admin/publishers/#{publisher.id}"}> <.icon name="hero-eye" /> View <:actions> - <.button navigate={~p"/publishers/#{publisher.id}/edit"}> + <.button navigate={~p"/admin/publishers/#{publisher.id}/edit"}> <.icon name="hero-pencil" /> Edit <:actions> - <.button variant="primary" navigate={~p"/publishers/#{publisher.id}/apps/new"}> + <.button variant="primary" navigate={~p"/admin/publishers/#{publisher.id}/apps/new"}> <.icon name="hero-plus" /> New App @@ -63,7 +63,7 @@ defmodule AdminWeb.PublisherLive.Index do <.table id={id} rows={publisher.apps} - row_click={fn app -> JS.navigate(~p"/apps/#{app}") end} + row_click={fn app -> JS.navigate(~p"/admin/apps/#{app}") end} row_id={fn app -> "apps-#{app.id}" end} > <:col :let={app} label="Thumbnail"> @@ -90,9 +90,9 @@ defmodule AdminWeb.PublisherLive.Index do <:col :let={app} label="URL">{app.url} <:action :let={app}>
    - <.link navigate={~p"/apps/#{app}"}>Show + <.link navigate={~p"/admin/apps/#{app}"}>Show
    - <.link navigate={~p"/publishers/#{publisher}/apps/#{app}/edit"}>Edit + <.link navigate={~p"/admin/publishers/#{publisher}/apps/#{app}/edit"}>Edit <% end %> diff --git a/lib/admin_web/live/publisher_live/show.ex b/lib/admin_web/live/publisher_live/show.ex index b0a72a2d3..67a88209d 100644 --- a/lib/admin_web/live/publisher_live/show.ex +++ b/lib/admin_web/live/publisher_live/show.ex @@ -11,10 +11,13 @@ defmodule AdminWeb.PublisherLive.Show do Publisher: {@publisher.name} <:subtitle>This is a publisher record from your database. <:actions> - <.button navigate={~p"/publishers"}> + <.button navigate={~p"/admin/publishers"}> <.icon name="hero-arrow-left" /> - <.button variant="primary" navigate={~p"/publishers/#{@publisher}/edit?return_to=show"}> + <.button + variant="primary" + navigate={~p"/admin/publishers/#{@publisher}/edit?return_to=show"} + > <.icon name="hero-pencil-square" /> Edit @@ -84,7 +87,7 @@ defmodule AdminWeb.PublisherLive.Show do {:noreply, socket |> put_flash(:success, "Publisher deleted.") - |> push_navigate(to: ~p"/publishers")} + |> push_navigate(to: ~p"/admin/publishers")} {:error, reason} -> {:noreply, socket |> assign(:show_modal, false) |> put_flash(:error, reason)} @@ -106,7 +109,7 @@ defmodule AdminWeb.PublisherLive.Show do {:noreply, socket |> put_flash(:error, "The current publisher was deleted.") - |> push_navigate(to: ~p"/publishers")} + |> push_navigate(to: ~p"/admin/publishers")} end def handle_info({type, %Admin.Apps.Publisher{}}, socket) diff --git a/lib/admin_web/live/user_live/confirmation.ex b/lib/admin_web/live/user_live/confirmation.ex index 5303001a9..a77cb634e 100644 --- a/lib/admin_web/live/user_live/confirmation.ex +++ b/lib/admin_web/live/user_live/confirmation.ex @@ -18,7 +18,7 @@ defmodule AdminWeb.UserLive.Confirmation do id="confirmation_form" phx-mounted={JS.focus_first()} phx-submit="submit" - action={~p"/users/log-in?_action=confirmed"} + action={~p"/admin/users/log-in?_action=confirmed"} phx-trigger-action={@trigger_submit} > @@ -41,7 +41,7 @@ defmodule AdminWeb.UserLive.Confirmation do id="login_form" phx-submit="submit" phx-mounted={JS.focus_first()} - action={~p"/users/log-in"} + action={~p"/admin/users/log-in"} phx-trigger-action={@trigger_submit} > @@ -83,7 +83,7 @@ defmodule AdminWeb.UserLive.Confirmation do {:ok, socket |> put_flash(:error, "Magic link is invalid or it has expired.") - |> push_navigate(to: ~p"/users/log-in")} + |> push_navigate(to: ~p"/admin/users/log-in")} end end diff --git a/lib/admin_web/live/user_live/form.ex b/lib/admin_web/live/user_live/form.ex index 9d7fa5676..d057494c5 100644 --- a/lib/admin_web/live/user_live/form.ex +++ b/lib/admin_web/live/user_live/form.ex @@ -42,7 +42,8 @@ defmodule AdminWeb.UserLive.Form do def handle_event("save", %{"user" => %{"email" => email}}, socket) do case Accounts.register_user(%{email: email}) do {:ok, _user} -> - {:noreply, socket |> put_flash(:info, "User registered") |> push_navigate(to: ~p"/users")} + {:noreply, + socket |> put_flash(:info, "User registered") |> push_navigate(to: ~p"/admin/users")} {:error, changeset} -> {:noreply, diff --git a/lib/admin_web/live/user_live/listing.ex b/lib/admin_web/live/user_live/listing.ex index b6de22fe6..efe6f9c2c 100644 --- a/lib/admin_web/live/user_live/listing.ex +++ b/lib/admin_web/live/user_live/listing.ex @@ -13,7 +13,7 @@ defmodule AdminWeb.UserLive.Listing do Admin users <:subtitle>Show users that are currently registered in the app <:actions> - <.button navigate={~p"/users/new"} id="new_user">Add an admin user + <.button navigate={~p"/admin/users/new"} id="new_user">Add an admin user @@ -24,7 +24,7 @@ defmodule AdminWeb.UserLive.Listing do class="flex flex-row justify-between" >
    - <.link navigate={~p"/users/#{user}"}>{user.email} + <.link navigate={~p"/admin/users/#{user}"}>{user.email}
    You
    diff --git a/lib/admin_web/live/user_live/login.ex b/lib/admin_web/live/user_live/login.ex index fc48a64af..efd2145eb 100644 --- a/lib/admin_web/live/user_live/login.ex +++ b/lib/admin_web/live/user_live/login.ex @@ -16,7 +16,7 @@ defmodule AdminWeb.UserLive.Login do You need to reauthenticate to perform sensitive actions on your account. <% else %> Don't have an account? <.link - navigate={~p"/users/register"} + navigate={~p"/admin/users/register"} class="font-semibold text-brand hover:underline" phx-no-format >Sign up for an account now. @@ -39,7 +39,7 @@ defmodule AdminWeb.UserLive.Login do :let={f} for={@form} id="login_form_magic" - action={~p"/users/log-in"} + action={~p"/admin/users/log-in"} phx-submit="submit_magic" > <.input @@ -62,7 +62,7 @@ defmodule AdminWeb.UserLive.Login do :let={f} for={@form} id="login_form_password" - action={~p"/users/log-in"} + action={~p"/admin/users/log-in"} phx-submit="submit_password" phx-trigger-action={@trigger_submit} > @@ -112,7 +112,7 @@ defmodule AdminWeb.UserLive.Login do if user = Accounts.get_user_by_email(email) do Accounts.deliver_login_instructions( user, - &url(~p"/users/log-in/#{&1}") + &url(~p"/admin/users/log-in/#{&1}") ) end @@ -122,7 +122,7 @@ defmodule AdminWeb.UserLive.Login do {:noreply, socket |> put_flash(:info, info) - |> push_navigate(to: ~p"/users/log-in")} + |> push_navigate(to: ~p"/admin/users/log-in")} end defp local_mail_adapter? do diff --git a/lib/admin_web/live/user_live/settings.ex b/lib/admin_web/live/user_live/settings.ex index cbe6f09b6..0a8e12124 100644 --- a/lib/admin_web/live/user_live/settings.ex +++ b/lib/admin_web/live/user_live/settings.ex @@ -32,7 +32,7 @@ defmodule AdminWeb.UserLive.Settings do <.form for={@password_form} id="password_form" - action={~p"/users/update-password"} + action={~p"/admin/users/update-password"} method="post" phx-change="validate_password" phx-submit="update_password" @@ -77,7 +77,7 @@ defmodule AdminWeb.UserLive.Settings do put_flash(socket, :error, "Email change link is invalid or it has expired.") end - {:ok, push_navigate(socket, to: ~p"/users/settings")} + {:ok, push_navigate(socket, to: ~p"/admin/users/settings")} end def mount(_params, _session, socket) do @@ -118,7 +118,7 @@ defmodule AdminWeb.UserLive.Settings do Accounts.deliver_user_update_email_instructions( Ecto.Changeset.apply_action!(changeset, :insert), user.email, - &url(~p"/users/settings/confirm-email/#{&1}") + &url(~p"/admin/users/settings/confirm-email/#{&1}") ) info = "A link to confirm your email change has been sent to the new address." diff --git a/lib/admin_web/router.ex b/lib/admin_web/router.ex index 7e0da8273..8430b2f4e 100644 --- a/lib/admin_web/router.ex +++ b/lib/admin_web/router.ex @@ -26,7 +26,7 @@ defmodule AdminWeb.Router do get "/health", HealthController, :up end - scope "/", AdminWeb do + scope "/admin", AdminWeb do pipe_through :browser get "/", LandingController, :home @@ -64,7 +64,7 @@ defmodule AdminWeb.Router do end ## Authentication LV routes - scope "/", AdminWeb do + scope "/admin", AdminWeb do pipe_through [:browser, :require_authenticated_user] live_session :require_authenticated_user, @@ -120,7 +120,7 @@ defmodule AdminWeb.Router do end ## Authentication related routes - scope "/", AdminWeb do + scope "/admin", AdminWeb do pipe_through [:browser] live_session :current_user, @@ -136,7 +136,7 @@ defmodule AdminWeb.Router do end ## Authenticated controller routes - scope "/", AdminWeb do + scope "/admin", AdminWeb do pipe_through [:browser, :require_authenticated_user] get "/dashboard", AdminController, :dashboard diff --git a/lib/admin_web/user_auth.ex b/lib/admin_web/user_auth.ex index b8f57fe72..f592327e8 100644 --- a/lib/admin_web/user_auth.ex +++ b/lib/admin_web/user_auth.ex @@ -59,7 +59,7 @@ defmodule AdminWeb.UserAuth do conn |> renew_session(nil) |> delete_resp_cookie(@remember_me_cookie) - |> redirect(to: ~p"/") + |> redirect(to: ~p"/admin") end @doc """ @@ -227,7 +227,7 @@ defmodule AdminWeb.UserAuth do socket = socket |> Phoenix.LiveView.put_flash(:error, "You must log in to access this page.") - |> Phoenix.LiveView.redirect(to: ~p"/users/log-in") + |> Phoenix.LiveView.redirect(to: ~p"/admin/users/log-in") {:halt, socket} end @@ -242,7 +242,7 @@ defmodule AdminWeb.UserAuth do socket = socket |> Phoenix.LiveView.put_flash(:error, "You must re-authenticate to access this page.") - |> Phoenix.LiveView.redirect(to: ~p"/users/log-in") + |> Phoenix.LiveView.redirect(to: ~p"/admin/users/log-in") {:halt, socket} end @@ -262,10 +262,10 @@ defmodule AdminWeb.UserAuth do @doc "Returns the path to redirect to after log in." # the user was already logged in, redirect to settings def signed_in_path(%Plug.Conn{assigns: %{current_scope: %Scope{user: %Accounts.User{}}}}) do - ~p"/users/settings" + ~p"/admin/users/settings" end - def signed_in_path(_), do: ~p"/dashboard" + def signed_in_path(_), do: ~p"/admin/dashboard" @doc """ Plug for routes that require the user to be authenticated. @@ -277,7 +277,7 @@ defmodule AdminWeb.UserAuth do conn |> put_flash(:error, "You must log in to access this page.") |> maybe_store_return_to() - |> redirect(to: ~p"/users/log-in") + |> redirect(to: ~p"/admin/users/log-in") |> halt() end end diff --git a/test/admin_web/controllers/page_controller_test.exs b/test/admin_web/controllers/page_controller_test.exs index cd4df9267..692a10694 100644 --- a/test/admin_web/controllers/page_controller_test.exs +++ b/test/admin_web/controllers/page_controller_test.exs @@ -2,7 +2,7 @@ defmodule AdminWeb.PageControllerTest do use AdminWeb.ConnCase test "GET /", %{conn: conn} do - conn = get(conn, ~p"/") + conn = get(conn, ~p"/admin") assert html_response(conn, 200) =~ "Admin" end @@ -10,7 +10,7 @@ defmodule AdminWeb.PageControllerTest do setup :register_and_log_in_user test "GET /dashboard", %{conn: conn} do - conn = get(conn, ~p"/dashboard") + conn = get(conn, ~p"/admin/dashboard") assert html_response(conn, 200) =~ "Recent Publications" end end diff --git a/test/admin_web/controllers/planned_maintenance_controller_test.exs b/test/admin_web/controllers/planned_maintenance_controller_test.exs index 13bf354ad..7baa85508 100644 --- a/test/admin_web/controllers/planned_maintenance_controller_test.exs +++ b/test/admin_web/controllers/planned_maintenance_controller_test.exs @@ -19,31 +19,31 @@ defmodule AdminWeb.PlannedMaintenanceControllerTest do describe "index" do test "lists all maintenance", %{conn: conn} do - conn = get(conn, ~p"/maintenance") + conn = get(conn, ~p"/admin/maintenance") assert html_response(conn, 200) =~ "Listing Maintenance" end end describe "new planned_maintenance" do test "renders form", %{conn: conn} do - conn = get(conn, ~p"/maintenance/new") + conn = get(conn, ~p"/admin/maintenance/new") assert html_response(conn, 200) =~ "New planned maintenance" end end describe "create planned_maintenance" do test "redirects to show when data is valid", %{conn: conn} do - conn = post(conn, ~p"/maintenance", planned_maintenance: @create_attrs) + conn = post(conn, ~p"/admin/maintenance", planned_maintenance: @create_attrs) assert %{id: id} = redirected_params(conn) - assert redirected_to(conn) == ~p"/maintenance/#{id}" + assert redirected_to(conn) == ~p"/admin/maintenance/#{id}" - conn = get(conn, ~p"/maintenance/#{id}") + conn = get(conn, ~p"/admin/maintenance/#{id}") assert html_response(conn, 200) =~ "Planned maintenance \"#{id}\"" end test "renders errors when data is invalid", %{conn: conn} do - conn = post(conn, ~p"/maintenance", planned_maintenance: @invalid_attrs) + conn = post(conn, ~p"/admin/maintenance", planned_maintenance: @invalid_attrs) assert html_response(conn, 200) =~ "New planned maintenance" end end @@ -55,7 +55,7 @@ defmodule AdminWeb.PlannedMaintenanceControllerTest do conn: conn, planned_maintenance: planned_maintenance } do - conn = get(conn, ~p"/maintenance/#{planned_maintenance}/edit") + conn = get(conn, ~p"/admin/maintenance/#{planned_maintenance}/edit") assert html_response(conn, 200) =~ "Edit planned maintenance" end end @@ -65,12 +65,14 @@ defmodule AdminWeb.PlannedMaintenanceControllerTest do test "redirects when data is valid", %{conn: conn, planned_maintenance: planned_maintenance} do conn = - put(conn, ~p"/maintenance/#{planned_maintenance}", planned_maintenance: @update_attrs) + put(conn, ~p"/admin/maintenance/#{planned_maintenance}", + planned_maintenance: @update_attrs + ) new_slug = @update_attrs.slug - assert redirected_to(conn) == ~p"/maintenance/#{new_slug}" + assert redirected_to(conn) == ~p"/admin/maintenance/#{new_slug}" - conn = get(conn, ~p"/maintenance/#{new_slug}") + conn = get(conn, ~p"/admin/maintenance/#{new_slug}") assert html_response(conn, 200) =~ "some-updated-slug" end @@ -79,7 +81,9 @@ defmodule AdminWeb.PlannedMaintenanceControllerTest do planned_maintenance: planned_maintenance } do conn = - put(conn, ~p"/maintenance/#{planned_maintenance}", planned_maintenance: @invalid_attrs) + put(conn, ~p"/admin/maintenance/#{planned_maintenance}", + planned_maintenance: @invalid_attrs + ) assert html_response(conn, 200) =~ "Edit planned maintenance" end @@ -92,11 +96,11 @@ defmodule AdminWeb.PlannedMaintenanceControllerTest do conn: conn, planned_maintenance: planned_maintenance } do - conn = delete(conn, ~p"/maintenance/#{planned_maintenance}") - assert redirected_to(conn) == ~p"/maintenance" + conn = delete(conn, ~p"/admin/maintenance/#{planned_maintenance}") + assert redirected_to(conn) == ~p"/admin/maintenance" assert_error_sent 404, fn -> - get(conn, ~p"/maintenance/#{planned_maintenance}") + get(conn, ~p"/admin/maintenance/#{planned_maintenance}") end end end diff --git a/test/admin_web/controllers/published_item_controller_test.exs b/test/admin_web/controllers/published_item_controller_test.exs index 7a71a7e2a..f7466b74e 100644 --- a/test/admin_web/controllers/published_item_controller_test.exs +++ b/test/admin_web/controllers/published_item_controller_test.exs @@ -10,14 +10,14 @@ defmodule AdminWeb.PublishedItemControllerTest do describe "index" do test "lists all published_items", %{conn: conn} do - conn = get(conn, ~p"/published_items") + conn = get(conn, ~p"/admin/published_items") assert html_response(conn, 200) =~ "Published items" end end describe "new published_item" do test "renders form", %{conn: conn} do - conn = get(conn, ~p"/published_items/new") + conn = get(conn, ~p"/admin/published_items/new") assert html_response(conn, 200) =~ "New Published item" end end @@ -33,17 +33,17 @@ defmodule AdminWeb.PublishedItemControllerTest do item_path: item.path } - conn = post(conn, ~p"/published_items", published_item: create_attrs) + conn = post(conn, ~p"/admin/published_items", published_item: create_attrs) assert %{id: id} = redirected_params(conn) - assert redirected_to(conn) == ~p"/published_items/#{id}" + assert redirected_to(conn) == ~p"/admin/published_items/#{id}" - conn = get(conn, ~p"/published_items/#{id}") + conn = get(conn, ~p"/admin/published_items/#{id}") assert html_response(conn, 200) =~ "Published item: #{item.name}" end test "renders errors when data is invalid", %{conn: conn} do - conn = post(conn, ~p"/published_items", published_item: @invalid_attrs) + conn = post(conn, ~p"/admin/published_items", published_item: @invalid_attrs) assert html_response(conn, 200) =~ "New Published item" end end @@ -51,7 +51,9 @@ defmodule AdminWeb.PublishedItemControllerTest do describe "published item does not exist" do test "Invalid UUID for publication", %{conn: conn} do conn = - post(conn, ~p"/published_items/search", %{published_item_search_form: %{item_id: "toto"}}) + post(conn, ~p"/admin/published_items/search", %{ + published_item_search_form: %{item_id: "toto"} + }) assert html_response(conn, 200) =~ "is not a valid UUID" end @@ -60,7 +62,9 @@ defmodule AdminWeb.PublishedItemControllerTest do item_id = "00000000-0000-4000-a000-000000000000" conn = - post(conn, ~p"/published_items/search", %{published_item_search_form: %{item_id: item_id}}) + post(conn, ~p"/admin/published_items/search", %{ + published_item_search_form: %{item_id: item_id} + }) assert html_response(conn, 200) =~ "Publication does not exist for item with id '#{item_id}'" @@ -78,11 +82,11 @@ defmodule AdminWeb.PublishedItemControllerTest do published_item_id = published_item.id conn = - post(conn, ~p"/published_items/search", %{ + post(conn, ~p"/admin/published_items/search", %{ published_item_search_form: %{item_id: "#{item_id}"} }) - assert redirected_to(conn) == ~p"/published_items/#{published_item_id}" + assert redirected_to(conn) == ~p"/admin/published_items/#{published_item_id}" end end diff --git a/test/admin_web/controllers/user_controller_test.exs b/test/admin_web/controllers/user_controller_test.exs index b7feaaa4a..005e4725f 100644 --- a/test/admin_web/controllers/user_controller_test.exs +++ b/test/admin_web/controllers/user_controller_test.exs @@ -5,26 +5,11 @@ defmodule AdminWeb.UserControllerTest do describe "show user" do test "show user without notices", %{conn: conn, scope: scope} do - conn = get(conn, ~p"/users/#{scope.user.id}") + conn = get(conn, ~p"/admin/users/#{scope.user.id}") page_content = html_response(conn, 200) assert page_content =~ scope.user.id assert page_content =~ scope.user.email - # assert page_content =~ "Removal Notices" - # assert page_content =~ "No removal notices for user yet" end - - # test "show user with notices", %{conn: conn, scope: scope} do - # published_item = published_item_fixture(scope) |> with_creator() - # remove_publication_fixture(scope, published_item) - - # conn = get(conn, ~p"/users/#{scope.user.id}") - - # page_content = html_response(conn, 200) - # assert page_content =~ scope.user.id - # assert page_content =~ scope.user.email - # assert page_content =~ "Removal Notices" - # assert page_content =~ "some reason" - # end end end diff --git a/test/admin_web/controllers/user_session_controller_test.exs b/test/admin_web/controllers/user_session_controller_test.exs index e84ce4823..91437f270 100644 --- a/test/admin_web/controllers/user_session_controller_test.exs +++ b/test/admin_web/controllers/user_session_controller_test.exs @@ -13,26 +13,26 @@ defmodule AdminWeb.UserSessionControllerTest do user = set_password(user) conn = - post(conn, ~p"/users/log-in", %{ + post(conn, ~p"/admin/users/log-in", %{ "user" => %{"email" => user.email, "password" => valid_user_password()} }) assert get_session(conn, :user_token) - assert redirected_to(conn) == ~p"/dashboard" + assert redirected_to(conn) == ~p"/admin/dashboard" # Now do a logged in request and assert on the menu - conn = get(conn, ~p"/dashboard") + conn = get(conn, ~p"/admin/dashboard") response = html_response(conn, 200) assert response =~ user.email - assert response =~ ~p"/users/settings" - assert response =~ ~p"/users/log-out" + assert response =~ ~p"/admin/users/settings" + assert response =~ ~p"/admin/users/log-out" end test "logs the user in with remember me", %{conn: conn, user: user} do user = set_password(user) conn = - post(conn, ~p"/users/log-in", %{ + post(conn, ~p"/admin/users/log-in", %{ "user" => %{ "email" => user.email, "password" => valid_user_password(), @@ -41,7 +41,7 @@ defmodule AdminWeb.UserSessionControllerTest do }) assert conn.resp_cookies["_admin_web_user_remember_me"] - assert redirected_to(conn) == ~p"/dashboard" + assert redirected_to(conn) == ~p"/admin/dashboard" end test "logs the user in with return to", %{conn: conn, user: user} do @@ -50,7 +50,7 @@ defmodule AdminWeb.UserSessionControllerTest do conn = conn |> init_test_session(user_return_to: "/foo/bar") - |> post(~p"/users/log-in", %{ + |> post(~p"/admin/users/log-in", %{ "user" => %{ "email" => user.email, "password" => valid_user_password() @@ -63,12 +63,12 @@ defmodule AdminWeb.UserSessionControllerTest do test "redirects to login page with invalid credentials", %{conn: conn, user: user} do conn = - post(conn, ~p"/users/log-in?mode=password", %{ + post(conn, ~p"/admin/users/log-in?mode=password", %{ "user" => %{"email" => user.email, "password" => "invalid_password"} }) assert Phoenix.Flash.get(conn.assigns.flash, :error) == "Invalid email or password" - assert redirected_to(conn) == ~p"/users/log-in" + assert redirected_to(conn) == ~p"/admin/users/log-in" end end @@ -77,19 +77,19 @@ defmodule AdminWeb.UserSessionControllerTest do {token, _hashed_token} = generate_user_magic_link_token(user) conn = - post(conn, ~p"/users/log-in", %{ + post(conn, ~p"/admin/users/log-in", %{ "user" => %{"token" => token} }) assert get_session(conn, :user_token) - assert redirected_to(conn) == ~p"/dashboard" + assert redirected_to(conn) == ~p"/admin/dashboard" # Now do a logged in request and assert on the menu - conn = get(conn, ~p"/dashboard") + conn = get(conn, ~p"/admin/dashboard") response = html_response(conn, 200) assert response =~ user.email - assert response =~ ~p"/users/settings" - assert response =~ ~p"/users/log-out" + assert response =~ ~p"/admin/users/settings" + assert response =~ ~p"/admin/users/log-out" end test "confirms unconfirmed user", %{conn: conn, unconfirmed_user: user} do @@ -97,49 +97,49 @@ defmodule AdminWeb.UserSessionControllerTest do refute user.confirmed_at conn = - post(conn, ~p"/users/log-in", %{ + post(conn, ~p"/admin/users/log-in", %{ "user" => %{"token" => token}, "_action" => "confirmed" }) assert get_session(conn, :user_token) - assert redirected_to(conn) == ~p"/dashboard" + assert redirected_to(conn) == ~p"/admin/dashboard" assert Phoenix.Flash.get(conn.assigns.flash, :info) =~ "User confirmed successfully." assert Accounts.get_user!(user.id).confirmed_at # Now do a logged in request and assert on the menu - conn = get(conn, ~p"/dashboard") + conn = get(conn, ~p"/admin/dashboard") response = html_response(conn, 200) assert response =~ user.email - assert response =~ ~p"/users/settings" - assert response =~ ~p"/users/log-out" + assert response =~ ~p"/admin/users/settings" + assert response =~ ~p"/admin/users/log-out" end test "redirects to login page when magic link is invalid", %{conn: conn} do conn = - post(conn, ~p"/users/log-in", %{ + post(conn, ~p"/admin/users/log-in", %{ "user" => %{"token" => "invalid"} }) assert Phoenix.Flash.get(conn.assigns.flash, :error) == "The link is invalid or it has expired." - assert redirected_to(conn) == ~p"/users/log-in" + assert redirected_to(conn) == ~p"/admin/users/log-in" end end describe "DELETE /users/log-out" do test "logs the user out", %{conn: conn, user: user} do - conn = conn |> log_in_user(user) |> delete(~p"/users/log-out") - assert redirected_to(conn) == ~p"/" + conn = conn |> log_in_user(user) |> delete(~p"/admin/users/log-out") + assert redirected_to(conn) == ~p"/admin" refute get_session(conn, :user_token) assert Phoenix.Flash.get(conn.assigns.flash, :info) =~ "Logged out successfully" end test "succeeds even if the user is not logged in", %{conn: conn} do - conn = delete(conn, ~p"/users/log-out") - assert redirected_to(conn) == ~p"/" + conn = delete(conn, ~p"/admin/users/log-out") + assert redirected_to(conn) == ~p"/admin" refute get_session(conn, :user_token) assert Phoenix.Flash.get(conn.assigns.flash, :info) =~ "Logged out successfully" end diff --git a/test/admin_web/live/app_instance_live_test.exs b/test/admin_web/live/app_instance_live_test.exs index 7f4e3901d..ae73efa25 100644 --- a/test/admin_web/live/app_instance_live_test.exs +++ b/test/admin_web/live/app_instance_live_test.exs @@ -31,13 +31,13 @@ defmodule AdminWeb.AppInstanceLiveTest do setup [:create_app_instance] test "saves new app_instance", %{conn: conn, publisher: publisher} do - {:ok, index_live, _html} = live(conn, ~p"/publishers") + {:ok, index_live, _html} = live(conn, ~p"/admin/publishers") assert {:ok, form_live, _} = index_live |> element("a", "New App") |> render_click() - |> follow_redirect(conn, ~p"/publishers/#{publisher}/apps/new") + |> follow_redirect(conn, ~p"/admin/publishers/#{publisher}/apps/new") assert render(form_live) =~ "New App" @@ -49,7 +49,7 @@ defmodule AdminWeb.AppInstanceLiveTest do form_live |> form("#app_instance-form", app_instance: @create_attrs) |> render_submit() - |> follow_redirect(conn, ~p"/publishers") + |> follow_redirect(conn, ~p"/admin/publishers") html = render(index_live) assert html =~ "App instance created successfully" @@ -61,13 +61,16 @@ defmodule AdminWeb.AppInstanceLiveTest do app_instance: app_instance, publisher: publisher } do - {:ok, index_live, _html} = live(conn, ~p"/publishers") + {:ok, index_live, _html} = live(conn, ~p"/admin/publishers") assert {:ok, form_live, _html} = index_live |> element("#apps-#{app_instance.id} a", "Edit") |> render_click() - |> follow_redirect(conn, ~p"/publishers/#{publisher}/apps/#{app_instance}/edit") + |> follow_redirect( + conn, + ~p"/admin/publishers/#{publisher}/apps/#{app_instance}/edit" + ) assert render(form_live) =~ "Edit App instance" @@ -79,7 +82,7 @@ defmodule AdminWeb.AppInstanceLiveTest do form_live |> form("#app_instance-form", app_instance: @update_attrs) |> render_submit() - |> follow_redirect(conn, ~p"/publishers") + |> follow_redirect(conn, ~p"/admin/publishers") html = render(index_live) assert html =~ "App instance updated successfully" @@ -88,7 +91,7 @@ defmodule AdminWeb.AppInstanceLiveTest do @tag :skip test "deletes app_instance in listing", %{conn: conn, app_instance: app_instance} do - {:ok, index_live, _html} = live(conn, ~p"/publishers") + {:ok, index_live, _html} = live(conn, ~p"/admin/publishers") assert index_live |> element("#apps-#{app_instance.id} a", "Delete") |> render_click() refute has_element?(index_live, "#apps-#{app_instance.id}") @@ -99,7 +102,7 @@ defmodule AdminWeb.AppInstanceLiveTest do setup [:create_app_instance] test "displays app_instance", %{conn: conn, app_instance: app_instance} do - {:ok, _show_live, html} = live(conn, ~p"/apps/#{app_instance}") + {:ok, _show_live, html} = live(conn, ~p"/admin/apps/#{app_instance}") assert html =~ "Show App instance" assert html =~ app_instance.name @@ -110,7 +113,7 @@ defmodule AdminWeb.AppInstanceLiveTest do app_instance: app_instance, publisher: publisher } do - {:ok, show_live, _html} = live(conn, ~p"/apps/#{app_instance}") + {:ok, show_live, _html} = live(conn, ~p"/admin/apps/#{app_instance}") assert {:ok, form_live, _} = show_live @@ -118,7 +121,7 @@ defmodule AdminWeb.AppInstanceLiveTest do |> render_click() |> follow_redirect( conn, - ~p"/publishers/#{publisher}/apps/#{app_instance}/edit?return_to=show" + ~p"/admin/publishers/#{publisher}/apps/#{app_instance}/edit?return_to=show" ) assert render(form_live) =~ "Edit App instance" @@ -131,7 +134,7 @@ defmodule AdminWeb.AppInstanceLiveTest do form_live |> form("#app_instance-form", app_instance: @update_attrs) |> render_submit() - |> follow_redirect(conn, ~p"/apps/#{app_instance}") + |> follow_redirect(conn, ~p"/admin/apps/#{app_instance}") html = render(show_live) assert html =~ "App instance updated successfully" diff --git a/test/admin_web/live/notification_live_test.exs b/test/admin_web/live/notification_live_test.exs index c120fdb60..acc36e4d5 100644 --- a/test/admin_web/live/notification_live_test.exs +++ b/test/admin_web/live/notification_live_test.exs @@ -19,20 +19,20 @@ defmodule AdminWeb.ServiceMessageLiveTest do setup [:create_notification] test "lists all notifications", %{conn: conn, notification: notification} do - {:ok, _index_live, html} = live(conn, ~p"/notifications") + {:ok, _index_live, html} = live(conn, ~p"/admin/notifications") assert html =~ "Mailing" assert html =~ notification.title end test "saves new notification", %{conn: conn} do - {:ok, index_live, _html} = live(conn, ~p"/notifications") + {:ok, index_live, _html} = live(conn, ~p"/admin/notifications") assert {:ok, form_live, _} = index_live |> element("a", "New Mail") |> render_click() - |> follow_redirect(conn, ~p"/notifications/new") + |> follow_redirect(conn, ~p"/admin/notifications/new") assert render(form_live) =~ "New Mail" @@ -56,7 +56,7 @@ defmodule AdminWeb.ServiceMessageLiveTest do notification: @create_attrs ) |> render_submit() - |> follow_redirect(conn, ~p"/notifications") + |> follow_redirect(conn, ~p"/admin/notifications") html = render(index_live) assert html =~ "Notification created" @@ -64,7 +64,7 @@ defmodule AdminWeb.ServiceMessageLiveTest do end test "deletes notification in listing", %{conn: conn, notification: notification} do - {:ok, index_live, _html} = live(conn, ~p"/notifications") + {:ok, index_live, _html} = live(conn, ~p"/admin/notifications") assert index_live |> element("#notifications-#{notification.id} a", "Delete") @@ -78,7 +78,7 @@ defmodule AdminWeb.ServiceMessageLiveTest do setup [:create_notification] test "displays notification", %{conn: conn, notification: notification} do - {:ok, _show_live, html} = live(conn, ~p"/notifications/#{notification}") + {:ok, _show_live, html} = live(conn, ~p"/admin/notifications/#{notification}") assert html =~ "Show Mail" assert html =~ notification.title diff --git a/test/admin_web/live/published_item_live/unpublish_test.exs b/test/admin_web/live/published_item_live/unpublish_test.exs index 449a31e86..b008d605a 100644 --- a/test/admin_web/live/published_item_live/unpublish_test.exs +++ b/test/admin_web/live/published_item_live/unpublish_test.exs @@ -8,14 +8,14 @@ defmodule AdminWeb.PublishedItemLive.UnpublishTest do setup :create_publication test ":validate reason should not be empty", %{conn: conn, published_item: published_item} do - {:ok, lv, _html} = live(conn, ~p"/published_items/#{published_item}/unpublish") + {:ok, lv, _html} = live(conn, ~p"/admin/published_items/#{published_item}/unpublish") assert lv |> render_change(:validate, %{publication_removal_notice: %{reason: ""}}) =~ "can't be blank" end test ":submit reason should not be empty", %{conn: conn, published_item: published_item} do - {:ok, lv, _html} = live(conn, ~p"/published_items/#{published_item}/unpublish") + {:ok, lv, _html} = live(conn, ~p"/admin/published_items/#{published_item}/unpublish") assert lv |> form("#removal_form", publication_removal_notice: %{reason: ""}) @@ -28,20 +28,20 @@ defmodule AdminWeb.PublishedItemLive.UnpublishTest do scope: scope, published_item: published_item } do - {:ok, lv, _html} = live(conn, ~p"/published_items/#{published_item}/unpublish") + {:ok, lv, _html} = live(conn, ~p"/admin/published_items/#{published_item}/unpublish") # remove publication assert Admin.Publications.delete_published_item(scope, published_item) # Assert the redirect to main published_items has occured - assert_redirect(lv, "/published_items") + assert_redirect(lv, "/admin/published_items") end test "Should allow to unpublish item with reason", %{ conn: conn, published_item: published_item } do - {:ok, lv, _html} = live(conn, ~p"/published_items/#{published_item}/unpublish") + {:ok, lv, _html} = live(conn, ~p"/admin/published_items/#{published_item}/unpublish") reason = "Not appropriate" assert {:error, {:live_redirect, _}} = diff --git a/test/admin_web/live/publisher_live_test.exs b/test/admin_web/live/publisher_live_test.exs index dd766d97b..21337c94d 100644 --- a/test/admin_web/live/publisher_live_test.exs +++ b/test/admin_web/live/publisher_live_test.exs @@ -20,20 +20,20 @@ defmodule AdminWeb.PublisherLiveTest do setup [:create_publisher] test "lists all publishers", %{conn: conn, publisher: publisher} do - {:ok, _index_live, html} = live(conn, ~p"/publishers") + {:ok, _index_live, html} = live(conn, ~p"/admin/publishers") assert html =~ "Listing Publishers" assert html =~ publisher.name end test "saves new publisher", %{conn: conn} do - {:ok, index_live, _html} = live(conn, ~p"/publishers") + {:ok, index_live, _html} = live(conn, ~p"/admin/publishers") assert {:ok, form_live, _} = index_live |> element("a", "New Publisher") |> render_click() - |> follow_redirect(conn, ~p"/publishers/new") + |> follow_redirect(conn, ~p"/admin/publishers/new") assert render(form_live) =~ "New Publisher" @@ -45,7 +45,7 @@ defmodule AdminWeb.PublisherLiveTest do form_live |> form("#publisher-form", publisher: @create_attrs) |> render_submit() - |> follow_redirect(conn, ~p"/publishers") + |> follow_redirect(conn, ~p"/admin/publishers") html = render(index_live) assert html =~ "Publisher created successfully" @@ -54,13 +54,13 @@ defmodule AdminWeb.PublisherLiveTest do @tag :skip test "updates publisher in listing", %{conn: conn, publisher: publisher} do - {:ok, index_live, _html} = live(conn, ~p"/publishers") + {:ok, index_live, _html} = live(conn, ~p"/admin/publishers") assert {:ok, form_live, _html} = index_live |> element("#publishers-#{publisher.id} a", "Edit") |> render_click() - |> follow_redirect(conn, ~p"/publishers/#{publisher}/edit") + |> follow_redirect(conn, ~p"/admin/publishers/#{publisher}/edit") assert render(form_live) =~ "Edit Publisher" @@ -72,7 +72,7 @@ defmodule AdminWeb.PublisherLiveTest do form_live |> form("#publisher-form", publisher: @update_attrs) |> render_submit() - |> follow_redirect(conn, ~p"/publishers") + |> follow_redirect(conn, ~p"/admin/publishers") html = render(index_live) assert html =~ "Publisher updated successfully" @@ -84,20 +84,20 @@ defmodule AdminWeb.PublisherLiveTest do setup [:create_publisher] test "displays publisher", %{conn: conn, publisher: publisher} do - {:ok, _show_live, html} = live(conn, ~p"/publishers/#{publisher}") + {:ok, _show_live, html} = live(conn, ~p"/admin/publishers/#{publisher}") assert html =~ "Show Publisher" assert html =~ publisher.name end test "updates publisher and returns to show", %{conn: conn, publisher: publisher} do - {:ok, show_live, _html} = live(conn, ~p"/publishers/#{publisher}") + {:ok, show_live, _html} = live(conn, ~p"/admin/publishers/#{publisher}") assert {:ok, form_live, _} = show_live |> element("a", "Edit") |> render_click() - |> follow_redirect(conn, ~p"/publishers/#{publisher}/edit?return_to=show") + |> follow_redirect(conn, ~p"/admin/publishers/#{publisher}/edit?return_to=show") assert render(form_live) =~ "Edit Publisher" @@ -109,7 +109,7 @@ defmodule AdminWeb.PublisherLiveTest do form_live |> form("#publisher-form", publisher: @update_attrs) |> render_submit() - |> follow_redirect(conn, ~p"/publishers/#{publisher}") + |> follow_redirect(conn, ~p"/admin/publishers/#{publisher}") html = render(show_live) assert html =~ "Publisher updated successfully" @@ -117,7 +117,7 @@ defmodule AdminWeb.PublisherLiveTest do end test "deletes publisher and returns to index", %{conn: conn, publisher: publisher} do - {:ok, lv, _html} = live(conn, ~p"/publishers/#{publisher}") + {:ok, lv, _html} = live(conn, ~p"/admin/publishers/#{publisher}") # open dialog to delete lv @@ -139,7 +139,7 @@ defmodule AdminWeb.PublisherLiveTest do lv |> element("#confirm_button") |> render_click() - |> follow_redirect(conn, ~p"/publishers") + |> follow_redirect(conn, ~p"/admin/publishers") assert render(index_lv) =~ "Publisher deleted" end diff --git a/test/admin_web/live/user_live/confirmation_test.exs b/test/admin_web/live/user_live/confirmation_test.exs index 289046fb4..a80a795de 100644 --- a/test/admin_web/live/user_live/confirmation_test.exs +++ b/test/admin_web/live/user_live/confirmation_test.exs @@ -17,7 +17,7 @@ defmodule AdminWeb.UserLive.ConfirmationTest do Accounts.deliver_login_instructions(user, url) end) - {:ok, _lv, html} = live(conn, ~p"/users/log-in/#{token}") + {:ok, _lv, html} = live(conn, ~p"/admin/users/log-in/#{token}") assert html =~ "Confirm and stay logged in" end @@ -27,7 +27,7 @@ defmodule AdminWeb.UserLive.ConfirmationTest do Accounts.deliver_login_instructions(user, url) end) - {:ok, _lv, html} = live(conn, ~p"/users/log-in/#{token}") + {:ok, _lv, html} = live(conn, ~p"/admin/users/log-in/#{token}") refute html =~ "Confirm my account" assert html =~ "Log in" end @@ -38,7 +38,7 @@ defmodule AdminWeb.UserLive.ConfirmationTest do Accounts.deliver_login_instructions(user, url) end) - {:ok, lv, _html} = live(conn, ~p"/users/log-in/#{token}") + {:ok, lv, _html} = live(conn, ~p"/admin/users/log-in/#{token}") form = form(lv, "#confirmation_form", %{"user" => %{"token" => token}}) render_submit(form) @@ -51,14 +51,14 @@ defmodule AdminWeb.UserLive.ConfirmationTest do assert Accounts.get_user!(user.id).confirmed_at # we are logged in now assert get_session(conn, :user_token) - assert redirected_to(conn) == ~p"/dashboard" + assert redirected_to(conn) == ~p"/admin/dashboard" # log out, new conn conn = build_conn() {:ok, _lv, html} = - live(conn, ~p"/users/log-in/#{token}") - |> follow_redirect(conn, ~p"/users/log-in") + live(conn, ~p"/admin/users/log-in/#{token}") + |> follow_redirect(conn, ~p"/admin/users/log-in") assert html =~ "Magic link is invalid or it has expired" end @@ -72,7 +72,7 @@ defmodule AdminWeb.UserLive.ConfirmationTest do Accounts.deliver_login_instructions(user, url) end) - {:ok, lv, _html} = live(conn, ~p"/users/log-in/#{token}") + {:ok, lv, _html} = live(conn, ~p"/admin/users/log-in/#{token}") form = form(lv, "#login_form", %{"user" => %{"token" => token}}) render_submit(form) @@ -88,16 +88,16 @@ defmodule AdminWeb.UserLive.ConfirmationTest do conn = build_conn() {:ok, _lv, html} = - live(conn, ~p"/users/log-in/#{token}") - |> follow_redirect(conn, ~p"/users/log-in") + live(conn, ~p"/admin/users/log-in/#{token}") + |> follow_redirect(conn, ~p"/admin/users/log-in") assert html =~ "Magic link is invalid or it has expired" end test "raises error for invalid token", %{conn: conn} do {:ok, _lv, html} = - live(conn, ~p"/users/log-in/invalid-token") - |> follow_redirect(conn, ~p"/users/log-in") + live(conn, ~p"/admin/users/log-in/invalid-token") + |> follow_redirect(conn, ~p"/admin/users/log-in") assert html =~ "Magic link is invalid or it has expired" end diff --git a/test/admin_web/live/user_live/form_test.exs b/test/admin_web/live/user_live/form_test.exs index 834b61ff0..590ca561c 100644 --- a/test/admin_web/live/user_live/form_test.exs +++ b/test/admin_web/live/user_live/form_test.exs @@ -6,14 +6,14 @@ defmodule AdminWeb.UserLive.FormTest do setup :register_and_log_in_user test "renders form for new user", %{conn: conn} do - {:ok, lv, html} = live(conn, ~p"/users/new") + {:ok, lv, html} = live(conn, ~p"/admin/users/new") assert html =~ "Create a new admin user" assert has_element?(lv, "form") assert form(lv, "#user_form", user: %{email: "test@example.com"}) |> render_submit() - |> follow_redirect(conn, ~p"/users") + |> follow_redirect(conn, ~p"/admin/users") end end end diff --git a/test/admin_web/live/user_live/listing_test.exs b/test/admin_web/live/user_live/listing_test.exs index 568bc3ad9..ed64dceda 100644 --- a/test/admin_web/live/user_live/listing_test.exs +++ b/test/admin_web/live/user_live/listing_test.exs @@ -8,13 +8,13 @@ defmodule AdminWeb.UserLive.ListingTest do setup :register_and_log_in_user test "Shows users", %{conn: conn} do - {:ok, _lv, html} = live(conn, ~p"/users") + {:ok, _lv, html} = live(conn, ~p"/admin/users") assert html =~ "Admin users" end test "Delete user with confirmation dialog", %{conn: conn} do user = user_fixture() - {:ok, lv, _html} = live(conn, ~p"/users") + {:ok, lv, _html} = live(conn, ~p"/admin/users") lv |> element("#users-#{user.id} > button") |> render_click(%{value: user.id}) # cancel in the dialog lv |> element("#cancel_button") |> render_click() @@ -28,19 +28,19 @@ defmodule AdminWeb.UserLive.ListingTest do end test "Add user", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users") + {:ok, lv, _html} = live(conn, ~p"/admin/users") assert {:ok, form_live, _} = lv |> element("#new_user") |> render_click() - |> follow_redirect(conn, ~p"/users/new") + |> follow_redirect(conn, ~p"/admin/users/new") assert {:ok, index_live, _} = form_live |> form("#user_form", user: %{email: "test@example.com"}) |> render_submit() - |> follow_redirect(conn, ~p"/users") + |> follow_redirect(conn, ~p"/admin/users") assert render(index_live) =~ "User registered" end diff --git a/test/admin_web/live/user_live/login_test.exs b/test/admin_web/live/user_live/login_test.exs index c3ddd9069..3a146c84f 100644 --- a/test/admin_web/live/user_live/login_test.exs +++ b/test/admin_web/live/user_live/login_test.exs @@ -6,7 +6,7 @@ defmodule AdminWeb.UserLive.LoginTest do describe "login page" do test "renders login page", %{conn: conn} do - {:ok, _lv, html} = live(conn, ~p"/users/log-in") + {:ok, _lv, html} = live(conn, ~p"/admin/users/log-in") assert html =~ "Log in" # assert html =~ "Register" @@ -18,12 +18,12 @@ defmodule AdminWeb.UserLive.LoginTest do test "sends magic link email when user exists", %{conn: conn} do user = user_fixture() - {:ok, lv, _html} = live(conn, ~p"/users/log-in") + {:ok, lv, _html} = live(conn, ~p"/admin/users/log-in") {:ok, _lv, html} = form(lv, "#login_form_magic", user: %{email: user.email}) |> render_submit() - |> follow_redirect(conn, ~p"/users/log-in") + |> follow_redirect(conn, ~p"/admin/users/log-in") assert html =~ "If your email is in our system" @@ -32,12 +32,12 @@ defmodule AdminWeb.UserLive.LoginTest do end test "does not disclose if user is registered", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/log-in") + {:ok, lv, _html} = live(conn, ~p"/admin/users/log-in") {:ok, _lv, html} = form(lv, "#login_form_magic", user: %{email: "idonotexist@example.com"}) |> render_submit() - |> follow_redirect(conn, ~p"/users/log-in") + |> follow_redirect(conn, ~p"/admin/users/log-in") assert html =~ "If your email is in our system" end @@ -47,7 +47,7 @@ defmodule AdminWeb.UserLive.LoginTest do test "redirects if user logs in with valid credentials", %{conn: conn} do user = user_fixture() |> set_password() - {:ok, lv, _html} = live(conn, ~p"/users/log-in") + {:ok, lv, _html} = live(conn, ~p"/admin/users/log-in") form = form(lv, "#login_form_password", @@ -56,13 +56,13 @@ defmodule AdminWeb.UserLive.LoginTest do conn = submit_form(form, conn) - assert redirected_to(conn) == ~p"/dashboard" + assert redirected_to(conn) == ~p"/admin/dashboard" end test "redirects to login page with a flash error if credentials are invalid", %{ conn: conn } do - {:ok, lv, _html} = live(conn, ~p"/users/log-in") + {:ok, lv, _html} = live(conn, ~p"/admin/users/log-in") form = form(lv, "#login_form_password", user: %{email: "test@email.com", password: "123456"}) @@ -71,20 +71,20 @@ defmodule AdminWeb.UserLive.LoginTest do conn = follow_trigger_action(form, conn) assert Phoenix.Flash.get(conn.assigns.flash, :error) == "Invalid email or password" - assert redirected_to(conn) == ~p"/users/log-in" + assert redirected_to(conn) == ~p"/admin/users/log-in" end end describe "login navigation" do @tag :skip test "redirects to registration page when the Register button is clicked", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/log-in") + {:ok, lv, _html} = live(conn, ~p"/admin/users/log-in") {:ok, _login_live, login_html} = lv |> element("main a", "Sign up") |> render_click() - |> follow_redirect(conn, ~p"/users/register") + |> follow_redirect(conn, ~p"/admin/users/register") assert login_html =~ "Register" end @@ -97,7 +97,7 @@ defmodule AdminWeb.UserLive.LoginTest do end test "shows login page with email filled in", %{conn: conn, user: user} do - {:ok, _lv, html} = live(conn, ~p"/users/log-in") + {:ok, _lv, html} = live(conn, ~p"/admin/users/log-in") assert html =~ "You need to reauthenticate" # refute html =~ "Register" diff --git a/test/admin_web/live/user_live/registration_test.exs b/test/admin_web/live/user_live/registration_test.exs index 4ef0f69c1..bd7ed5636 100644 --- a/test/admin_web/live/user_live/registration_test.exs +++ b/test/admin_web/live/user_live/registration_test.exs @@ -7,7 +7,7 @@ defmodule AdminWeb.UserLive.RegistrationTest do describe "Registration page" do @tag :skip test "renders registration page", %{conn: conn} do - {:ok, _lv, html} = live(conn, ~p"/users/register") + {:ok, _lv, html} = live(conn, ~p"/admin/users/register") assert html =~ "Register" assert html =~ "Log in" @@ -18,15 +18,15 @@ defmodule AdminWeb.UserLive.RegistrationTest do result = conn |> log_in_user(user_fixture()) - |> live(~p"/users/register") - |> follow_redirect(conn, ~p"/dashboard") + |> live(~p"/admin/users/register") + |> follow_redirect(conn, ~p"/admin/dashboard") assert {:ok, _conn} = result end @tag :skip test "renders errors for invalid data", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/register") + {:ok, lv, _html} = live(conn, ~p"/admin/users/register") result = lv @@ -41,14 +41,14 @@ defmodule AdminWeb.UserLive.RegistrationTest do describe "register user" do @tag :skip test "creates account but does not log in", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/register") + {:ok, lv, _html} = live(conn, ~p"/admin/users/register") email = unique_user_email() form = form(lv, "#registration_form", user: valid_user_attributes(email: email)) {:ok, _lv, html} = render_submit(form) - |> follow_redirect(conn, ~p"/users/log-in") + |> follow_redirect(conn, ~p"/admin/users/log-in") assert html =~ ~r/An email was sent to .*, please access it to confirm your account/ @@ -56,7 +56,7 @@ defmodule AdminWeb.UserLive.RegistrationTest do @tag :skip test "renders errors for duplicated email", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/register") + {:ok, lv, _html} = live(conn, ~p"/admin/users/register") user = user_fixture(%{email: "test@email.com"}) @@ -74,13 +74,13 @@ defmodule AdminWeb.UserLive.RegistrationTest do describe "registration navigation" do @tag :skip test "redirects to login page when the Log in button is clicked", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/register") + {:ok, lv, _html} = live(conn, ~p"/admin/users/register") {:ok, _login_live, login_html} = lv |> element("main a", "Log in") |> render_click() - |> follow_redirect(conn, ~p"/users/log-in") + |> follow_redirect(conn, ~p"/admin/users/log-in") assert login_html =~ "Log in" end diff --git a/test/admin_web/live/user_live/settings_test.exs b/test/admin_web/live/user_live/settings_test.exs index a7ba29ee8..8d1445313 100644 --- a/test/admin_web/live/user_live/settings_test.exs +++ b/test/admin_web/live/user_live/settings_test.exs @@ -10,17 +10,17 @@ defmodule AdminWeb.UserLive.SettingsTest do {:ok, _lv, html} = conn |> log_in_user(user_fixture()) - |> live(~p"/users/settings") + |> live(~p"/admin/users/settings") assert html =~ "Change Email" assert html =~ "Save Password" end test "redirects if user is not logged in", %{conn: conn} do - assert {:error, redirect} = live(conn, ~p"/users/settings") + assert {:error, redirect} = live(conn, ~p"/admin/users/settings") assert {:redirect, %{to: path, flash: flash}} = redirect - assert path == ~p"/users/log-in" + assert path == ~p"/admin/users/log-in" assert %{"error" => "You must log in to access this page."} = flash end @@ -30,8 +30,8 @@ defmodule AdminWeb.UserLive.SettingsTest do |> log_in_user(user_fixture(), token_authenticated_at: DateTime.add(DateTime.utc_now(:second), -11, :minute) ) - |> live(~p"/users/settings") - |> follow_redirect(conn, ~p"/users/log-in") + |> live(~p"/admin/users/settings") + |> follow_redirect(conn, ~p"/admin/users/log-in") assert conn.resp_body =~ "You must re-authenticate to access this page." end @@ -46,7 +46,7 @@ defmodule AdminWeb.UserLive.SettingsTest do test "updates the user email", %{conn: conn, user: user} do new_email = unique_user_email() - {:ok, lv, _html} = live(conn, ~p"/users/settings") + {:ok, lv, _html} = live(conn, ~p"/admin/users/settings") result = lv @@ -60,7 +60,7 @@ defmodule AdminWeb.UserLive.SettingsTest do end test "renders errors with invalid data (phx-change)", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/settings") + {:ok, lv, _html} = live(conn, ~p"/admin/users/settings") result = lv @@ -75,7 +75,7 @@ defmodule AdminWeb.UserLive.SettingsTest do end test "renders errors with invalid data (phx-submit)", %{conn: conn, user: user} do - {:ok, lv, _html} = live(conn, ~p"/users/settings") + {:ok, lv, _html} = live(conn, ~p"/admin/users/settings") result = lv @@ -98,7 +98,7 @@ defmodule AdminWeb.UserLive.SettingsTest do test "updates the user password", %{conn: conn, user: user} do new_password = valid_user_password() - {:ok, lv, _html} = live(conn, ~p"/users/settings") + {:ok, lv, _html} = live(conn, ~p"/admin/users/settings") form = form(lv, "#password_form", %{ @@ -113,7 +113,7 @@ defmodule AdminWeb.UserLive.SettingsTest do new_password_conn = follow_trigger_action(form, conn) - assert redirected_to(new_password_conn) == ~p"/users/settings" + assert redirected_to(new_password_conn) == ~p"/admin/users/settings" assert get_session(new_password_conn, :user_token) != get_session(conn, :user_token) @@ -124,7 +124,7 @@ defmodule AdminWeb.UserLive.SettingsTest do end test "renders errors with invalid data (phx-change)", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/settings") + {:ok, lv, _html} = live(conn, ~p"/admin/users/settings") result = lv @@ -142,7 +142,7 @@ defmodule AdminWeb.UserLive.SettingsTest do end test "renders errors with invalid data (phx-submit)", %{conn: conn} do - {:ok, lv, _html} = live(conn, ~p"/users/settings") + {:ok, lv, _html} = live(conn, ~p"/admin/users/settings") result = lv @@ -174,27 +174,27 @@ defmodule AdminWeb.UserLive.SettingsTest do end test "updates the user email once", %{conn: conn, user: user, token: token, email: email} do - {:error, redirect} = live(conn, ~p"/users/settings/confirm-email/#{token}") + {:error, redirect} = live(conn, ~p"/admin/users/settings/confirm-email/#{token}") assert {:live_redirect, %{to: path, flash: flash}} = redirect - assert path == ~p"/users/settings" + assert path == ~p"/admin/users/settings" assert %{"info" => message} = flash assert message == "Email changed successfully." refute Accounts.get_user_by_email(user.email) assert Accounts.get_user_by_email(email) # use confirm token again - {:error, redirect} = live(conn, ~p"/users/settings/confirm-email/#{token}") + {:error, redirect} = live(conn, ~p"/admin/users/settings/confirm-email/#{token}") assert {:live_redirect, %{to: path, flash: flash}} = redirect - assert path == ~p"/users/settings" + assert path == ~p"/admin/users/settings" assert %{"error" => message} = flash assert message == "Email change link is invalid or it has expired." end test "does not update email with invalid token", %{conn: conn, user: user} do - {:error, redirect} = live(conn, ~p"/users/settings/confirm-email/oops") + {:error, redirect} = live(conn, ~p"/admin/users/settings/confirm-email/oops") assert {:live_redirect, %{to: path, flash: flash}} = redirect - assert path == ~p"/users/settings" + assert path == ~p"/admin/users/settings" assert %{"error" => message} = flash assert message == "Email change link is invalid or it has expired." assert Accounts.get_user_by_email(user.email) @@ -202,9 +202,9 @@ defmodule AdminWeb.UserLive.SettingsTest do test "redirects if user is not logged in", %{token: token} do conn = build_conn() - {:error, redirect} = live(conn, ~p"/users/settings/confirm-email/#{token}") + {:error, redirect} = live(conn, ~p"/admin/users/settings/confirm-email/#{token}") assert {:redirect, %{to: path, flash: flash}} = redirect - assert path == ~p"/users/log-in" + assert path == ~p"/admin/users/log-in" assert %{"error" => message} = flash assert message == "You must log in to access this page." end diff --git a/test/admin_web/live/user_live/user_listing_test.exs b/test/admin_web/live/user_live/user_listing_test.exs index 6d1336d41..32ed27816 100644 --- a/test/admin_web/live/user_live/user_listing_test.exs +++ b/test/admin_web/live/user_live/user_listing_test.exs @@ -6,16 +6,16 @@ defmodule AdminWeb.UserLive.UserListingTest do describe "List Users" do test "render user list", %{conn: conn} do - {:ok, _lv, html} = conn |> log_in_user(user_fixture()) |> live(~p"/users") + {:ok, _lv, html} = conn |> log_in_user(user_fixture()) |> live(~p"/admin/users") assert html =~ "Admin users" end test "redirects if user is not logged in", %{conn: conn} do - assert {:error, redirect} = live(conn, ~p"/users") + assert {:error, redirect} = live(conn, ~p"/admin/users") assert {:redirect, %{to: path, flash: flash}} = redirect - assert path == ~p"/users/log-in" + assert path == ~p"/admin/users/log-in" assert %{"error" => "You must log in to access this page."} = flash end end diff --git a/test/admin_web/user_auth_test.exs b/test/admin_web/user_auth_test.exs index 8d47b5cb8..7e2b94c87 100644 --- a/test/admin_web/user_auth_test.exs +++ b/test/admin_web/user_auth_test.exs @@ -28,7 +28,7 @@ defmodule AdminWeb.UserAuthTest do conn = UserAuth.log_in_user(conn, user) assert token = get_session(conn, :user_token) assert get_session(conn, :live_socket_id) == "users_sessions:#{Base.url_encode64(token)}" - assert redirected_to(conn) == ~p"/dashboard" + assert redirected_to(conn) == ~p"/admin/dashboard" assert Accounts.get_user_by_session_token(token) end @@ -83,7 +83,7 @@ defmodule AdminWeb.UserAuthTest do |> assign(:current_scope, Scope.for_user(user)) |> UserAuth.log_in_user(user) - assert redirected_to(conn) == ~p"/users/settings" + assert redirected_to(conn) == ~p"/admin/users/settings" end test "writes a cookie if remember_me was set in previous session", %{conn: conn, user: user} do @@ -123,7 +123,7 @@ defmodule AdminWeb.UserAuthTest do refute get_session(conn, :user_token) refute conn.cookies[@remember_me_cookie] assert %{max_age: 0} = conn.resp_cookies[@remember_me_cookie] - assert redirected_to(conn) == ~p"/" + assert redirected_to(conn) == ~p"/admin" refute Accounts.get_user_by_session_token(user_token) end @@ -142,7 +142,7 @@ defmodule AdminWeb.UserAuthTest do conn = conn |> fetch_cookies() |> UserAuth.log_out_user() refute get_session(conn, :user_token) assert %{max_age: 0} = conn.resp_cookies[@remember_me_cookie] - assert redirected_to(conn) == ~p"/" + assert redirected_to(conn) == ~p"/admin" end end @@ -326,7 +326,7 @@ defmodule AdminWeb.UserAuthTest do conn = conn |> fetch_flash() |> UserAuth.require_authenticated_user([]) assert conn.halted - assert redirected_to(conn) == ~p"/users/log-in" + assert redirected_to(conn) == ~p"/admin/users/log-in" assert Phoenix.Flash.get(conn.assigns.flash, :error) == "You must log in to access this page."