|
- # Pleroma: A lightweight social networking server
- # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
- # SPDX-License-Identifier: AGPL-3.0-only
-
- defmodule Pleroma.DigestEmailDaemonTest do
- use Pleroma.DataCase
- import Pleroma.Factory
-
- alias Pleroma.Daemons.DigestEmailDaemon
- alias Pleroma.Tests.ObanHelpers
- alias Pleroma.User
- alias Pleroma.Web.CommonAPI
-
- test "it sends digest emails" do
- user = insert(:user)
-
- date =
- Timex.now()
- |> Timex.shift(days: -10)
- |> Timex.to_naive_datetime()
-
- user2 = insert(:user, last_digest_emailed_at: date)
- {:ok, _} = User.switch_email_notifications(user2, "digest", true)
- CommonAPI.post(user, %{"status" => "hey @#{user2.nickname}!"})
-
- DigestEmailDaemon.perform()
- ObanHelpers.perform_all()
- # Performing job(s) enqueued at previous step
- ObanHelpers.perform_all()
-
- assert_received {:email, email}
- assert email.to == [{user2.name, user2.email}]
- assert email.subject == "Your digest from #{Pleroma.Config.get(:instance)[:name]}"
- end
- end
|