logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

user_is_staff_plug_test.exs (1099B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Web.Plugs.UserIsStaffPlugTest do
  5. use Pleroma.Web.ConnCase, async: true
  6. alias Pleroma.Web.Plugs.UserIsStaffPlug
  7. import Pleroma.Factory
  8. test "accepts a user that is an admin" do
  9. user = insert(:user, is_admin: true)
  10. conn = assign(build_conn(), :user, user)
  11. ret_conn = UserIsStaffPlug.call(conn, %{})
  12. assert conn == ret_conn
  13. end
  14. test "accepts a user that is a moderator" do
  15. user = insert(:user, is_moderator: true)
  16. conn = assign(build_conn(), :user, user)
  17. ret_conn = UserIsStaffPlug.call(conn, %{})
  18. assert conn == ret_conn
  19. end
  20. test "denies a user that isn't a staff member" do
  21. user = insert(:user)
  22. conn =
  23. build_conn()
  24. |> assign(:user, user)
  25. |> UserIsStaffPlug.call(%{})
  26. assert conn.status == 403
  27. end
  28. test "denies when a user isn't set" do
  29. conn = UserIsStaffPlug.call(build_conn(), %{})
  30. assert conn.status == 403
  31. end
  32. end