Search: Add tests for unicode searches.
authorlain <lain@soykaf.club>
Wed, 9 Oct 2019 14:03:45 +0000 (16:03 +0200)
committerlain <lain@soykaf.club>
Wed, 9 Oct 2019 14:03:45 +0000 (16:03 +0200)
test/activity_test.exs
test/web/mastodon_api/controllers/search_controller_test.exs

index 95d9341c4a3d3314223bd02a62e527f7c9870df2..e7ea2bd5e91b852b564867428eba229ff866db37 100644 (file)
@@ -126,9 +126,25 @@ defmodule Pleroma.ActivityTest do
       }
 
       {:ok, local_activity} = Pleroma.Web.CommonAPI.post(user, %{"status" => "find me!"})
+      {:ok, japanese_activity} = Pleroma.Web.CommonAPI.post(user, %{"status" => "更新情報"})
       {:ok, job} = Pleroma.Web.Federator.incoming_ap_doc(params)
       {:ok, remote_activity} = ObanHelpers.perform(job)
-      %{local_activity: local_activity, remote_activity: remote_activity, user: user}
+
+      %{
+        japanese_activity: japanese_activity,
+        local_activity: local_activity,
+        remote_activity: remote_activity,
+        user: user
+      }
+    end
+
+    test "finds utf8 text in statuses", %{
+      japanese_activity: japanese_activity,
+      user: user
+    } do
+      activities = Activity.search(user, "更新情報")
+
+      assert [^japanese_activity] = activities
     end
 
     test "find local and remote statuses for authenticated users", %{
index 49c79ff0a799140717d44002d78b94681b423d2a..0ca896e012114403ec0d035793521eac8fca902d 100644 (file)
@@ -40,7 +40,7 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
     test "search", %{conn: conn} do
       user = insert(:user)
       user_two = insert(:user, %{nickname: "shp@shitposter.club"})
-      user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"})
+      user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu 天子"})
 
       {:ok, activity} = CommonAPI.post(user, %{"status" => "This is about 2hu private"})
 
@@ -52,9 +52,9 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
 
       {:ok, _} = CommonAPI.post(user_two, %{"status" => "This isn't"})
 
-      conn = get(conn, "/api/v2/search", %{"q" => "2hu #private"})
-
-      assert results = json_response(conn, 200)
+      results =
+        get(conn, "/api/v2/search", %{"q" => "2hu #private"})
+        |> json_response(200)
 
       [account | _] = results["accounts"]
       assert account["id"] == to_string(user_three.id)
@@ -65,6 +65,13 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
 
       [status] = results["statuses"]
       assert status["id"] == to_string(activity.id)
+
+      results =
+        get(conn, "/api/v2/search", %{"q" => "天子"})
+        |> json_response(200)
+
+      [account] == results["accounts"]
+      assert account["id"] == to_string(user_three.id)
     end
   end