Add better test for user search functionlity.
authorlain <lain@soykaf.club>
Fri, 16 Nov 2018 17:31:32 +0000 (18:31 +0100)
committerlain <lain@soykaf.club>
Fri, 16 Nov 2018 17:31:32 +0000 (18:31 +0100)
lib/pleroma/user.ex
test/user_test.exs

index be634a8e119db7ce5457834a7c6ef232e7b7fd84..6e1d5559d359f6aab26e08731747a36a5d007ac9 100644 (file)
@@ -498,7 +498,7 @@ defmodule Pleroma.User do
     Repo.all(query)
   end
 
-  def search(query, resolve) do
+  def search(query, resolve \\ false) do
     # strip the beginning @ off if there is a query
     query = String.trim_leading(query, "@")
 
index 7dec3462f94e6bc92beb63459efc93feb9d7281e..231f1d94d9c61a220929f23616f0035fff61f5a5 100644 (file)
@@ -578,4 +578,16 @@ defmodule Pleroma.UserTest do
       assert cached_user != user
     end
   end
+
+  describe "User.search" do
+    test "finds a user, ranking by similarity" do
+      user = insert(:user, %{name: "lain"})
+      user_two = insert(:user, %{name: "ean"})
+      user_three = insert(:user, %{name: "ebn", nickname: "lain@mastodon.social"})
+      user_four = insert(:user, %{nickname: "lain@pleroma.soykaf.com"})
+
+      assert user_four ==
+               User.search("lain@ple") |> List.first() |> Map.put(:search_distance, nil)
+    end
+  end
 end