Fix MastoAPI.AuthControllerTest, json_response(:no_content) --> empty_json_response()
[akkoma] / test / user_search_test.exs
index 758822072dcb4e27d4fb966ae0600c04edacfe9e..01976bf587f7385f9c9b7c971f37774b52f00d29 100644 (file)
@@ -72,15 +72,11 @@ defmodule Pleroma.UserSearchTest do
       end)
     end
 
-    test "is not [yet] capable of matching by non-leading fragments (e.g. by domain)" do
-      user1 = insert(:user, %{nickname: "iamthedude"})
-      insert(:user, %{nickname: "arandom@dude.com"})
+    test "matches by leading fragment of user domain" do
+      user = insert(:user, %{nickname: "arandom@dude.com"})
+      insert(:user, %{nickname: "iamthedude"})
 
-      assert [] == User.search("dude")
-
-      # Matching by leading fragment works, though
-      user1_id = user1.id
-      assert ^user1_id = User.search("iam") |> List.first() |> Map.get(:id)
+      assert [user.id] == User.search("dud") |> Enum.map(& &1.id)
     end
 
     test "ranks full nickname match higher than full name match" do
@@ -113,22 +109,22 @@ defmodule Pleroma.UserSearchTest do
                Enum.map(User.search("doe", resolve: false, for_user: u1), & &1.id) == []
     end
 
-    test "finds followers of user by partial name" do
-      u1 = insert(:user)
-      u2 = insert(:user, %{name: "Jimi"})
-      follower_jimi = insert(:user, %{name: "Jimi Hendrix"})
-      follower_lizz = insert(:user, %{name: "Lizz Wright"})
-      friend = insert(:user, %{name: "Jimi"})
+    test "finds followings of user by partial name" do
+      lizz = insert(:user, %{name: "Lizz"})
+      jimi = insert(:user, %{name: "Jimi"})
+      following_lizz = insert(:user, %{name: "Jimi Hendrix"})
+      following_jimi = insert(:user, %{name: "Lizz Wright"})
+      follower_lizz = insert(:user, %{name: "Jimi"})
 
-      {:ok, follower_jimi} = User.follow(follower_jimi, u1)
-      {:ok, _follower_lizz} = User.follow(follower_lizz, u2)
-      {:ok, u1} = User.follow(u1, friend)
+      {:ok, lizz} = User.follow(lizz, following_lizz)
+      {:ok, _jimi} = User.follow(jimi, following_jimi)
+      {:ok, _follower_lizz} = User.follow(follower_lizz, lizz)
 
-      assert Enum.map(User.search("jimi", following: true, for_user: u1), & &1.id) == [
-               follower_jimi.id
+      assert Enum.map(User.search("jimi", following: true, for_user: lizz), & &1.id) == [
+               following_lizz.id
              ]
 
-      assert User.search("lizz", following: true, for_user: u1) == []
+      assert User.search("lizz", following: true, for_user: lizz) == []
     end
 
     test "find local and remote users for authenticated users" do