logo

pleroma

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

ensure_staff_privileged_plug_test.exs (1573B)


  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.EnsureStaffPrivilegedPlugTest do
  5. use Pleroma.Web.ConnCase, async: true
  6. alias Pleroma.Web.Plugs.EnsureStaffPrivilegedPlug
  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 = EnsureStaffPrivilegedPlug.call(conn, %{})
  12. assert conn == ret_conn
  13. end
  14. test "accepts a user that is a moderator when :privileged_staff is enabled" do
  15. clear_config([:instance, :privileged_staff], true)
  16. user = insert(:user, is_moderator: true)
  17. conn = assign(build_conn(), :user, user)
  18. ret_conn = EnsureStaffPrivilegedPlug.call(conn, %{})
  19. assert conn == ret_conn
  20. end
  21. test "denies a user that is a moderator when :privileged_staff is disabled" do
  22. clear_config([:instance, :privileged_staff], false)
  23. user = insert(:user, is_moderator: true)
  24. conn =
  25. build_conn()
  26. |> assign(:user, user)
  27. |> EnsureStaffPrivilegedPlug.call(%{})
  28. assert conn.status == 403
  29. end
  30. test "denies a user that isn't a staff member" do
  31. user = insert(:user)
  32. conn =
  33. build_conn()
  34. |> assign(:user, user)
  35. |> EnsureStaffPrivilegedPlug.call(%{})
  36. assert conn.status == 403
  37. end
  38. test "denies when a user isn't set" do
  39. conn = EnsureStaffPrivilegedPlug.call(build_conn(), %{})
  40. assert conn.status == 403
  41. end
  42. end