Change user.discoverable field to user.is_discoverable
[akkoma] / test / workers / cron / new_users_digest_worker_test.exs
index 7892a780926c9a02c3789e85e7271cb864353477..129534cb1695df351c576492fdac738a1ac27fe5 100644 (file)
@@ -1,23 +1,23 @@
 # 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.NewUsersDigestWorkerTest do
   use Pleroma.DataCase
   import Pleroma.Factory
 
-  alias Pleroma.Workers.NewUsersDigestWorker
   alias Pleroma.Tests.ObanHelpers
   alias Pleroma.Web.CommonAPI
+  alias Pleroma.Workers.Cron.NewUsersDigestWorker
 
   test "it sends new users digest emails" do
     yesterday = NaiveDateTime.utc_now() |> Timex.shift(days: -1)
     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)
+    NewUsersDigestWorker.perform(%Oban.Job{})
     ObanHelpers.perform_all()
 
     assert_received {:email, email}
@@ -28,5 +28,18 @@ defmodule Pleroma.Workers.Cron.NewUsersDigestWorkerTest do
     assert email.html_body =~ user.nickname
     assert email.html_body =~ user2.nickname
     assert email.html_body =~ "cofe"
+    assert email.html_body =~ "#{Pleroma.Web.Endpoint.url()}/static/logo.png"
+  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(%Oban.Job{})
+    ObanHelpers.perform_all()
   end
 end