Merge branch 'fix/activity_get_by_id' into 'develop'
[akkoma] / test / web / mastodon_api / mastodon_api_controller_test.exs
index c83bb5bc8db3bae6595df007143fc2840eab5b59..8443dc856ba420d592f4279e083e4b05fbb3bf62 100644 (file)
@@ -10,6 +10,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   alias Pleroma.Web.{OStatus, CommonAPI}
   alias Pleroma.Web.ActivityPub.ActivityPub
   alias Pleroma.Web.MastodonAPI.FilterView
+  alias Ecto.Changeset
   import Pleroma.Factory
   import ExUnit.CaptureLog
   import Tesla.Mock
@@ -1473,13 +1474,26 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   end
 
   test "get instance information", %{conn: conn} do
-    insert(:user, %{local: true})
     user = insert(:user, %{local: true})
+
+    user2 = insert(:user, %{local: true})
+    {:ok, _user2} = User.deactivate(user2, !user2.info.deactivated)
+
     insert(:user, %{local: false, nickname: "u@peer1.com"})
     insert(:user, %{local: false, nickname: "u@peer2.com"})
 
     {:ok, _} = TwitterAPI.create_status(user, %{"status" => "cofe"})
 
+    # Stats should count users with missing or nil `info.deactivated` value
+    user = Repo.get(User, user.id)
+    info_change = Changeset.change(user.info, %{deactivated: nil})
+
+    {:ok, _user} =
+      user
+      |> Changeset.change()
+      |> Changeset.put_embed(:info, info_change)
+      |> User.update_and_set_cache()
+
     Pleroma.Stats.update_stats()
 
     conn = get(conn, "/api/v1/instance")
@@ -1489,7 +1503,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
     stats = result["stats"]
 
     assert stats
-    assert stats["user_count"] == 2
+    assert stats["user_count"] == 1
     assert stats["status_count"] == 1
     assert stats["domain_count"] == 2
   end