First
[anni] / test / pleroma / web / preload / providers / user_test.exs
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
5 defmodule Pleroma.Web.Preload.Providers.UserTest do
6   use Pleroma.DataCase, async: true
7   import Pleroma.Factory
8   alias Pleroma.Web.Preload.Providers.User
9
10   describe "returns empty when user doesn't exist" do
11     test "nil user specified" do
12       assert User.generate_terms(%{user: nil}) == %{}
13     end
14
15     test "missing user specified" do
16       assert User.generate_terms(%{user: :not_a_user}) == %{}
17     end
18   end
19
20   describe "specified user exists" do
21     setup do
22       user = insert(:user)
23
24       terms = User.generate_terms(%{user: user})
25       %{terms: terms, user: user}
26     end
27
28     test "account is rendered", %{terms: terms, user: user} do
29       account = terms["/api/v1/accounts/#{user.id}"]
30       assert %{acct: user, username: user} = account
31     end
32   end
33 end