Merge branch '204-fix' into 'develop'
authorlain <lain@soykaf.club>
Tue, 11 Aug 2020 09:18:56 +0000 (09:18 +0000)
committerlain <lain@soykaf.club>
Tue, 11 Aug 2020 09:18:56 +0000 (09:18 +0000)
Fix 500 errors when returning :no_content, fixes #2029

Closes #2029

See merge request pleroma/pleroma!2856

1  2 
test/web/admin_api/controllers/admin_api_controller_test.exs

index 7f0f026056830a4c87a3f01203013d2c1aefd3bf,e63268831d71e527f43b4e09f05092e4d83cb913..eca9272e016c4014d815771ea01677a9c81b576b
@@@ -439,7 -439,7 +439,7 @@@ defmodule Pleroma.Web.AdminAPI.AdminAPI
        user1: user1,
        user2: user2
      } do
-       assert json_response(conn, :no_content)
+       assert empty_json_response(conn)
        assert User.get_cached_by_id(user1.id).tags == ["x", "foo", "bar"]
        assert User.get_cached_by_id(user2.id).tags == ["y", "foo", "bar"]
  
      end
  
      test "it does not modify tags of not specified users", %{conn: conn, user3: user3} do
-       assert json_response(conn, :no_content)
+       assert empty_json_response(conn)
        assert User.get_cached_by_id(user3.id).tags == ["unchanged"]
      end
    end
        user1: user1,
        user2: user2
      } do
-       assert json_response(conn, :no_content)
+       assert empty_json_response(conn)
        assert User.get_cached_by_id(user1.id).tags == []
        assert User.get_cached_by_id(user2.id).tags == ["y"]
  
      end
  
      test "it does not modify tags of not specified users", %{conn: conn, user3: user3} do
-       assert json_response(conn, :no_content)
+       assert empty_json_response(conn)
        assert User.get_cached_by_id(user3.id).tags == ["unchanged"]
      end
    end
               }
      end
  
 +    test "`active` filters out users pending approval", %{token: token} do
 +      insert(:user, approval_pending: true)
 +      %{id: user_id} = insert(:user, approval_pending: false)
 +      %{id: admin_id} = token.user
 +
 +      conn =
 +        build_conn()
 +        |> assign(:user, token.user)
 +        |> assign(:token, token)
 +        |> get("/api/pleroma/admin/users?filters=active")
 +
 +      assert %{
 +               "count" => 2,
 +               "page_size" => 50,
 +               "users" => [
 +                 %{"id" => ^admin_id},
 +                 %{"id" => ^user_id}
 +               ]
 +             } = json_response(conn, 200)
 +    end
 +
      test "it works with multiple filters" do
        admin = insert(:user, nickname: "john", is_admin: true)
        token = insert(:oauth_admin_token, user: admin)
        conn =
          patch(conn, "/api/pleroma/admin/users/force_password_reset", %{nicknames: [user.nickname]})
  
-       assert json_response(conn, 204) == ""
+       assert empty_json_response(conn) == ""
  
        ObanHelpers.perform_all()