diff options
author | lain <lain@soykaf.club> | 2019-08-19 16:10:00 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-08-19 16:10:00 +0000 |
commit | e5d2c0c66949ad90f9ee02874bdea2aa94f7f683 (patch) | |
tree | 948ec474f599236f03186fd12ab30a489fe67cec /test/tasks/digest_test.exs | |
parent | 222ac3bcbebe496ba8f0363adea40ef4fcf26886 (diff) | |
parent | 75a5dd41ee4a1c196487f4cf2759a4d63bc393ef (diff) | |
download | pleroma-e5d2c0c66949ad90f9ee02874bdea2aa94f7f683.tar.gz pleroma-e5d2c0c66949ad90f9ee02874bdea2aa94f7f683.zip |
Merge branch 'tests/database-digest-tests' into 'develop'
Add more tests for Database tasks and DigestEmailWorker
See merge request pleroma/pleroma!1577
Diffstat (limited to 'test/tasks/digest_test.exs')
-rw-r--r-- | test/tasks/digest_test.exs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/tasks/digest_test.exs b/test/tasks/digest_test.exs new file mode 100644 index 000000000..595f64ed7 --- /dev/null +++ b/test/tasks/digest_test.exs @@ -0,0 +1,51 @@ +defmodule Mix.Tasks.Pleroma.DigestTest do + use Pleroma.DataCase + + import Pleroma.Factory + import Swoosh.TestAssertions + + alias Pleroma.Web.CommonAPI + + setup_all do + Mix.shell(Mix.Shell.Process) + + on_exit(fn -> + Mix.shell(Mix.Shell.IO) + end) + + :ok + end + + describe "pleroma.digest test" do + test "Sends digest to the given user" do + user1 = insert(:user) + user2 = insert(:user) + + Enum.each(0..10, fn i -> + {:ok, _activity} = + CommonAPI.post(user1, %{ + "status" => "hey ##{i} @#{user2.nickname}!" + }) + end) + + yesterday = + NaiveDateTime.add( + NaiveDateTime.truncate(NaiveDateTime.utc_now(), :second), + -60 * 60 * 24, + :second + ) + + {:ok, yesterday_date} = Timex.format(yesterday, "%F", :strftime) + + :ok = Mix.Tasks.Pleroma.Digest.run(["test", user2.nickname, yesterday_date]) + + assert_receive {:mix_shell, :info, [message]} + assert message =~ "Digest email have been sent" + + assert_email_sent( + to: {user2.name, user2.email}, + html_body: ~r/new mentions:/i + ) + end + end +end |