diff options
Diffstat (limited to 'test/tasks')
| -rw-r--r-- | test/tasks/instance_test.exs | 4 | ||||
| -rw-r--r-- | test/tasks/refresh_counter_cache_test.exs | 43 | 
2 files changed, 46 insertions, 1 deletions
| diff --git a/test/tasks/instance_test.exs b/test/tasks/instance_test.exs index d69275726..a0cc5d7c7 100644 --- a/test/tasks/instance_test.exs +++ b/test/tasks/instance_test.exs @@ -3,7 +3,7 @@  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Pleroma.InstanceTest do -  use ExUnit.Case, async: true +  use ExUnit.Case    setup do      File.mkdir_p!(tmp_path()) @@ -15,6 +15,8 @@ defmodule Pleroma.InstanceTest do        if File.exists?(static_dir) do          File.rm_rf(Path.join(static_dir, "robots.txt"))        end + +      Pleroma.Config.put([:instance, :static_dir], static_dir)      end)      :ok diff --git a/test/tasks/refresh_counter_cache_test.exs b/test/tasks/refresh_counter_cache_test.exs new file mode 100644 index 000000000..47367af94 --- /dev/null +++ b/test/tasks/refresh_counter_cache_test.exs @@ -0,0 +1,43 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Mix.Tasks.Pleroma.RefreshCounterCacheTest do +  use Pleroma.DataCase +  alias Pleroma.Web.CommonAPI +  import ExUnit.CaptureIO, only: [capture_io: 1] +  import Pleroma.Factory + +  test "counts statuses" do +    user = insert(:user) +    other_user = insert(:user) + +    CommonAPI.post(user, %{"visibility" => "public", "status" => "hey"}) + +    Enum.each(0..1, fn _ -> +      CommonAPI.post(user, %{ +        "visibility" => "unlisted", +        "status" => "hey" +      }) +    end) + +    Enum.each(0..2, fn _ -> +      CommonAPI.post(user, %{ +        "visibility" => "direct", +        "status" => "hey @#{other_user.nickname}" +      }) +    end) + +    Enum.each(0..3, fn _ -> +      CommonAPI.post(user, %{ +        "visibility" => "private", +        "status" => "hey" +      }) +    end) + +    assert capture_io(fn -> Mix.Tasks.Pleroma.RefreshCounterCache.run([]) end) =~ "Done\n" + +    assert %{direct: 3, private: 4, public: 1, unlisted: 2} = +             Pleroma.Stats.get_status_visibility_count() +  end +end | 
