1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Mix.Tasks.Pleroma.DigestTest do
9 import Swoosh.TestAssertions
11 alias Pleroma.Tests.ObanHelpers
12 alias Pleroma.Web.CommonAPI
15 Mix.shell(Mix.Shell.Process)
18 Mix.shell(Mix.Shell.IO)
24 setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true)
26 describe "pleroma.digest test" do
27 test "Sends digest to the given user" do
31 Enum.each(0..10, fn i ->
33 CommonAPI.post(user1, %{
34 status: "hey ##{i} @#{user2.nickname}!"
40 NaiveDateTime.truncate(NaiveDateTime.utc_now(), :second),
45 {:ok, yesterday_date} = Timex.format(yesterday, "%F", :strftime)
47 :ok = Mix.Tasks.Pleroma.Digest.run(["test", user2.nickname, yesterday_date])
49 ObanHelpers.perform_all()
51 assert_receive {:mix_shell, :info, [message]}
52 assert message =~ "Digest email have been sent"
55 to: {user2.name, user2.email},
56 html_body: ~r/here is what you've missed!/i