Fork of Pleroma with site-specific changes and feature branches https://git.pleroma.social/pleroma/pleroma
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
798B

  1. defmodule Pleroma.Plugs.UserIsAdminPlugTest do
  2. use Pleroma.Web.ConnCase, async: true
  3. alias Pleroma.Plugs.UserIsAdminPlug
  4. import Pleroma.Factory
  5. test "accepts a user that is admin", %{conn: conn} do
  6. user = insert(:user, info: %{"is_admin" => true})
  7. conn =
  8. build_conn()
  9. |> assign(:user, user)
  10. ret_conn =
  11. conn
  12. |> UserIsAdminPlug.call(%{})
  13. assert conn == ret_conn
  14. end
  15. test "denies a user that isn't admin", %{conn: conn} do
  16. user = insert(:user)
  17. conn =
  18. build_conn()
  19. |> assign(:user, user)
  20. |> UserIsAdminPlug.call(%{})
  21. assert conn.status == 403
  22. end
  23. test "denies when a user isn't set", %{conn: conn} do
  24. conn =
  25. build_conn()
  26. |> UserIsAdminPlug.call(%{})
  27. assert conn.status == 403
  28. end
  29. end