diff options
Diffstat (limited to 'test')
3 files changed, 63 insertions, 0 deletions
| diff --git a/test/pleroma/notification_test.exs b/test/pleroma/notification_test.exs index 92c0bc8b6..ed2cd219d 100644 --- a/test/pleroma/notification_test.exs +++ b/test/pleroma/notification_test.exs @@ -32,6 +32,19 @@ defmodule Pleroma.NotificationTest do        refute {:ok, [nil]} == Notification.create_notifications(activity)      end +    test "creates a notification for a report" do +      reporting_user = insert(:user) +      reported_user = insert(:user) +      {:ok, moderator_user} = insert(:user) |> User.admin_api_update(%{is_moderator: true}) + +      {:ok, activity} = CommonAPI.report(reporting_user, %{account_id: reported_user.id}) + +      {:ok, [notification]} = Notification.create_notifications(activity) + +      assert notification.user_id == moderator_user.id +      assert notification.type == "pleroma:report" +    end +      test "creates a notification for an emoji reaction" do        user = insert(:user)        other_user = insert(:user) diff --git a/test/pleroma/web/mastodon_api/controllers/notification_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/notification_controller_test.exs index 5fd518c60..9ac8488f6 100644 --- a/test/pleroma/web/mastodon_api/controllers/notification_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/notification_controller_test.exs @@ -75,6 +75,34 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      assert [_] = result    end +  test "by default, does not contain pleroma:report" do +    %{user: user, conn: conn} = oauth_access(["read:notifications"]) +    other_user = insert(:user) +    third_user = insert(:user) + +    user +    |> User.admin_api_update(%{is_moderator: true}) + +    {:ok, activity} = CommonAPI.post(other_user, %{status: "hey"}) + +    {:ok, _report} = +      CommonAPI.report(third_user, %{account_id: other_user.id, status_ids: [activity.id]}) + +    result = +      conn +      |> get("/api/v1/notifications") +      |> json_response_and_validate_schema(200) + +    assert [] == result + +    result = +      conn +      |> get("/api/v1/notifications?include_types[]=pleroma:report") +      |> json_response_and_validate_schema(200) + +    assert [_] = result +  end +    test "getting a single notification" do      %{user: user, conn: conn} = oauth_access(["read:notifications"])      other_user = insert(:user) diff --git a/test/pleroma/web/mastodon_api/views/notification_view_test.exs b/test/pleroma/web/mastodon_api/views/notification_view_test.exs index 2f6a808f1..9de11a87e 100644 --- a/test/pleroma/web/mastodon_api/views/notification_view_test.exs +++ b/test/pleroma/web/mastodon_api/views/notification_view_test.exs @@ -12,6 +12,8 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do    alias Pleroma.Object    alias Pleroma.Repo    alias Pleroma.User +  alias Pleroma.Web.AdminAPI.Report +  alias Pleroma.Web.AdminAPI.ReportView    alias Pleroma.Web.CommonAPI    alias Pleroma.Web.CommonAPI.Utils    alias Pleroma.Web.MastodonAPI.AccountView @@ -207,6 +209,26 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do      test_notifications_rendering([notification], user, [expected])    end +  test "Report notification" do +    reporting_user = insert(:user) +    reported_user = insert(:user) +    {:ok, moderator_user} = insert(:user) |> User.admin_api_update(%{is_moderator: true}) + +    {:ok, activity} = CommonAPI.report(reporting_user, %{account_id: reported_user.id}) +    {:ok, [notification]} = Notification.create_notifications(activity) + +    expected = %{ +      id: to_string(notification.id), +      pleroma: %{is_seen: false, is_muted: false}, +      type: "pleroma:report", +      account: AccountView.render("show.json", %{user: reporting_user, for: moderator_user}), +      created_at: Utils.to_masto_date(notification.inserted_at), +      report: ReportView.render("show.json", Report.extract_report_info(activity)) +    } + +    test_notifications_rendering([notification], moderator_user, [expected]) +  end +    test "muted notification" do      user = insert(:user)      another_user = insert(:user) | 
