Fork of Pleroma with site-specific changes and feature branches https://git.pleroma.social/pleroma/pleroma
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.0KB

  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.DigestEmailDaemonTest do
  5. use Pleroma.DataCase
  6. import Pleroma.Factory
  7. alias Pleroma.Daemons.DigestEmailDaemon
  8. alias Pleroma.Tests.ObanHelpers
  9. alias Pleroma.User
  10. alias Pleroma.Web.CommonAPI
  11. test "it sends digest emails" do
  12. user = insert(:user)
  13. date =
  14. Timex.now()
  15. |> Timex.shift(days: -10)
  16. |> Timex.to_naive_datetime()
  17. user2 = insert(:user, last_digest_emailed_at: date)
  18. {:ok, _} = User.switch_email_notifications(user2, "digest", true)
  19. CommonAPI.post(user, %{"status" => "hey @#{user2.nickname}!"})
  20. DigestEmailDaemon.perform()
  21. ObanHelpers.perform_all()
  22. # Performing job(s) enqueued at previous step
  23. ObanHelpers.perform_all()
  24. assert_received {:email, email}
  25. assert email.to == [{user2.name, user2.email}]
  26. assert email.subject == "Your digest from #{Pleroma.Config.get(:instance)[:name]}"
  27. end
  28. end