diff options
Diffstat (limited to 'test/workers')
| -rw-r--r-- | test/workers/cron/digest_emails_worker_test.exs | 14 | ||||
| -rw-r--r-- | test/workers/cron/new_users_digest_worker_test.exs | 12 | 
2 files changed, 25 insertions, 1 deletions
diff --git a/test/workers/cron/digest_emails_worker_test.exs b/test/workers/cron/digest_emails_worker_test.exs index 66e16b810..5d65b9fef 100644 --- a/test/workers/cron/digest_emails_worker_test.exs +++ b/test/workers/cron/digest_emails_worker_test.exs @@ -13,7 +13,7 @@ defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest 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, @@ -31,6 +31,10 @@ defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest do      {:ok, _} = User.switch_email_notifications(user2, "digest", true)      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..e6d050ecc 100644 --- a/test/workers/cron/new_users_digest_worker_test.exs +++ b/test/workers/cron/new_users_digest_worker_test.exs @@ -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  | 
