diff options
Diffstat (limited to 'test/workers')
5 files changed, 35 insertions, 11 deletions
| diff --git a/test/workers/cron/clear_oauth_token_worker_test.exs b/test/workers/cron/clear_oauth_token_worker_test.exs index adea47326..df82dc75d 100644 --- a/test/workers/cron/clear_oauth_token_worker_test.exs +++ b/test/workers/cron/clear_oauth_token_worker_test.exs @@ -1,5 +1,5 @@  # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Pleroma.Workers.Cron.ClearOauthTokenWorkerTest do @@ -8,7 +8,7 @@ defmodule Pleroma.Workers.Cron.ClearOauthTokenWorkerTest do    import Pleroma.Factory    alias Pleroma.Workers.Cron.ClearOauthTokenWorker -  clear_config([:oauth2, :clean_expired_tokens]) +  setup do: clear_config([:oauth2, :clean_expired_tokens])    test "deletes expired tokens" do      insert(:oauth_token, diff --git a/test/workers/cron/digest_emails_worker_test.exs b/test/workers/cron/digest_emails_worker_test.exs index 073615d9e..f9bc50db5 100644 --- a/test/workers/cron/digest_emails_worker_test.exs +++ b/test/workers/cron/digest_emails_worker_test.exs @@ -1,5 +1,5 @@  # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest do @@ -11,9 +11,9 @@ defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest do    alias Pleroma.User    alias Pleroma.Web.CommonAPI -  clear_config([:email_notifications, :digest]) +  setup do: clear_config([:email_notifications, :digest]) -  test "it sends digest emails" do +  setup do      Pleroma.Config.put([:email_notifications, :digest], %{        active: true,        inactivity_threshold: 7, @@ -29,8 +29,12 @@ defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest do      user2 = insert(:user, last_digest_emailed_at: date)      {:ok, _} = User.switch_email_notifications(user2, "digest", true) -    CommonAPI.post(user, %{"status" => "hey @#{user2.nickname}!"}) +    CommonAPI.post(user, %{status: "hey @#{user2.nickname}!"}) +    {:ok, user2: user2} +  end + +  test "it sends digest emails", %{user2: user2} do      Pleroma.Workers.Cron.DigestEmailsWorker.perform(:opts, :pid)      # Performing job(s) enqueued at previous step      ObanHelpers.perform_all() @@ -39,4 +43,12 @@ defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest do      assert email.to == [{user2.name, user2.email}]      assert email.subject == "Your digest from #{Pleroma.Config.get(:instance)[:name]}"    end + +  test "it doesn't fail when a user has no email", %{user2: user2} do +    {:ok, _} = user2 |> Ecto.Changeset.change(%{email: nil}) |> Pleroma.Repo.update() + +    Pleroma.Workers.Cron.DigestEmailsWorker.perform(:opts, :pid) +    # Performing job(s) enqueued at previous step +    ObanHelpers.perform_all() +  end  end diff --git a/test/workers/cron/new_users_digest_worker_test.exs b/test/workers/cron/new_users_digest_worker_test.exs index 2f439c1fe..54cf0ca46 100644 --- a/test/workers/cron/new_users_digest_worker_test.exs +++ b/test/workers/cron/new_users_digest_worker_test.exs @@ -15,7 +15,7 @@ defmodule Pleroma.Workers.Cron.NewUsersDigestWorkerTest do      admin = insert(:user, %{is_admin: true})      user = insert(:user, %{inserted_at: yesterday})      user2 = insert(:user, %{inserted_at: yesterday}) -    CommonAPI.post(user, %{"status" => "cofe"}) +    CommonAPI.post(user, %{status: "cofe"})      NewUsersDigestWorker.perform(nil, nil)      ObanHelpers.perform_all() @@ -29,4 +29,16 @@ defmodule Pleroma.Workers.Cron.NewUsersDigestWorkerTest do      assert email.html_body =~ user2.nickname      assert email.html_body =~ "cofe"    end + +  test "it doesn't fail when admin has no email" do +    yesterday = NaiveDateTime.utc_now() |> Timex.shift(days: -1) +    insert(:user, %{is_admin: true, email: nil}) +    insert(:user, %{inserted_at: yesterday}) +    user = insert(:user, %{inserted_at: yesterday}) + +    CommonAPI.post(user, %{status: "cofe"}) + +    NewUsersDigestWorker.perform(nil, nil) +    ObanHelpers.perform_all() +  end  end diff --git a/test/workers/cron/purge_expired_activities_worker_test.exs b/test/workers/cron/purge_expired_activities_worker_test.exs index c2561683e..5864f9e5f 100644 --- a/test/workers/cron/purge_expired_activities_worker_test.exs +++ b/test/workers/cron/purge_expired_activities_worker_test.exs @@ -1,5 +1,5 @@  # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do @@ -11,7 +11,7 @@ defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do    import Pleroma.Factory    import ExUnit.CaptureLog -  clear_config([ActivityExpiration, :enabled]) +  setup do: clear_config([ActivityExpiration, :enabled])    test "deletes an expiration activity" do      Pleroma.Config.put([ActivityExpiration, :enabled], true) diff --git a/test/workers/scheduled_activity_worker_test.exs b/test/workers/scheduled_activity_worker_test.exs index 1405d7142..b312d975b 100644 --- a/test/workers/scheduled_activity_worker_test.exs +++ b/test/workers/scheduled_activity_worker_test.exs @@ -1,5 +1,5 @@  # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Pleroma.Workers.ScheduledActivityWorkerTest do @@ -11,7 +11,7 @@ defmodule Pleroma.Workers.ScheduledActivityWorkerTest do    import Pleroma.Factory    import ExUnit.CaptureLog -  clear_config([ScheduledActivity, :enabled]) +  setup do: clear_config([ScheduledActivity, :enabled])    test "creates a status from the scheduled activity" do      Pleroma.Config.put([ScheduledActivity, :enabled], true) | 
