diff options
| author | kaniini <nenolod@gmail.com> | 2018-11-01 09:31:31 +0000 | 
|---|---|---|
| committer | kaniini <nenolod@gmail.com> | 2018-11-01 09:31:31 +0000 | 
| commit | f20f575e298b7d98f6c025e552564e8e73e7bd49 (patch) | |
| tree | dcee8b8572d6c6e82d9890b84021fa4a5c816291 /test | |
| parent | eba9a62024a6acd4722745850cb7c0ea0502304f (diff) | |
| parent | 585b29337ce66eb2c574e71588db542044574609 (diff) | |
| download | pleroma-f20f575e298b7d98f6c025e552564e8e73e7bd49.tar.gz pleroma-f20f575e298b7d98f6c025e552564e8e73e7bd49.zip | |
Merge branch 'bugfix/filter-id' into 'develop'
Ensure filters have a filter_id
See merge request pleroma/pleroma!412
Diffstat (limited to 'test')
| -rw-r--r-- | test/filter_test.exs | 91 | ||||
| -rw-r--r-- | test/web/mastodon_api/mastodon_api_controller_test.exs | 2 | 
2 files changed, 82 insertions, 11 deletions
| diff --git a/test/filter_test.exs b/test/filter_test.exs index d81c92f08..509c15317 100644 --- a/test/filter_test.exs +++ b/test/filter_test.exs @@ -5,19 +5,88 @@ defmodule Pleroma.FilterTest do    import Pleroma.Factory    import Ecto.Query -  test "creating a filter" do -    user = insert(:user) +  describe "creating filters" do +    test "creating one filter" do +      user = insert(:user) -    query = %Pleroma.Filter{ -      user_id: user.id, -      filter_id: 42, -      phrase: "knights", -      context: ["home"] -    } +      query = %Pleroma.Filter{ +        user_id: user.id, +        filter_id: 42, +        phrase: "knights", +        context: ["home"] +      } + +      {:ok, %Pleroma.Filter{} = filter} = Pleroma.Filter.create(query) +      result = Pleroma.Filter.get(filter.filter_id, user) +      assert query.phrase == result.phrase +    end + +    test "creating one filter without a pre-defined filter_id" do +      user = insert(:user) + +      query = %Pleroma.Filter{ +        user_id: user.id, +        phrase: "knights", +        context: ["home"] +      } + +      {:ok, %Pleroma.Filter{} = filter} = Pleroma.Filter.create(query) +      # Should start at 1 +      assert filter.filter_id == 1 +    end + +    test "creating additional filters uses previous highest filter_id + 1" do +      user = insert(:user) + +      query_one = %Pleroma.Filter{ +        user_id: user.id, +        filter_id: 42, +        phrase: "knights", +        context: ["home"] +      } + +      {:ok, %Pleroma.Filter{} = filter_one} = Pleroma.Filter.create(query_one) + +      query_two = %Pleroma.Filter{ +        user_id: user.id, +        # No filter_id +        phrase: "who", +        context: ["home"] +      } + +      {:ok, %Pleroma.Filter{} = filter_two} = Pleroma.Filter.create(query_two) +      assert filter_two.filter_id == filter_one.filter_id + 1 +    end + +    test "filter_id is unique per user" do +      user_one = insert(:user) +      user_two = insert(:user) + +      query_one = %Pleroma.Filter{ +        user_id: user_one.id, +        phrase: "knights", +        context: ["home"] +      } + +      {:ok, %Pleroma.Filter{} = filter_one} = Pleroma.Filter.create(query_one) + +      query_two = %Pleroma.Filter{ +        user_id: user_two.id, +        phrase: "who", +        context: ["home"] +      } + +      {:ok, %Pleroma.Filter{} = filter_two} = Pleroma.Filter.create(query_two) + +      assert filter_one.filter_id == 1 +      assert filter_two.filter_id == 1 + +      result_one = Pleroma.Filter.get(filter_one.filter_id, user_one) +      assert result_one.phrase == filter_one.phrase -    {:ok, %Pleroma.Filter{} = filter} = Pleroma.Filter.create(query) -    result = Pleroma.Filter.get(filter.filter_id, user) -    assert query.phrase == result.phrase +      result_two = Pleroma.Filter.get(filter_two.filter_id, user_two) +      assert result_two.phrase == filter_two.phrase +    end    end    test "deleting a filter" do diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index e9deae64d..42a43f129 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -280,6 +280,8 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do        assert response = json_response(conn, 200)        assert response["phrase"] == filter.phrase        assert response["context"] == filter.context +      assert response["id"] != nil +      assert response["id"] != ""      end      test "fetching a list of filters", %{conn: conn} do | 
