logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

refresh_counter_cache_test.exs (1190B)


  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. defmodule Mix.Tasks.Pleroma.RefreshCounterCacheTest do
  5. # Uses log capture, has to stay synchronous
  6. use Pleroma.DataCase
  7. alias Pleroma.Web.CommonAPI
  8. import ExUnit.CaptureIO, only: [capture_io: 1]
  9. import Pleroma.Factory
  10. test "counts statuses" do
  11. user = insert(:user)
  12. other_user = insert(:user)
  13. CommonAPI.post(user, %{visibility: "public", status: "hey"})
  14. Enum.each(0..1, fn _ ->
  15. CommonAPI.post(user, %{
  16. visibility: "unlisted",
  17. status: "hey"
  18. })
  19. end)
  20. Enum.each(0..2, fn _ ->
  21. CommonAPI.post(user, %{
  22. visibility: "direct",
  23. status: "hey @#{other_user.nickname}"
  24. })
  25. end)
  26. Enum.each(0..3, fn _ ->
  27. CommonAPI.post(user, %{
  28. visibility: "private",
  29. status: "hey"
  30. })
  31. end)
  32. assert capture_io(fn -> Mix.Tasks.Pleroma.RefreshCounterCache.run([]) end) =~ "Done\n"
  33. assert %{"direct" => 3, "private" => 4, "public" => 1, "unlisted" => 2} =
  34. Pleroma.Stats.get_status_visibility_count()
  35. end
  36. end