aboutsummaryrefslogtreecommitdiff
path: root/test/mix
diff options
context:
space:
mode:
authorRoman Chvanikov <chvanikoff@gmail.com>2019-06-04 02:48:21 +0300
committerRoman Chvanikov <chvanikoff@gmail.com>2019-06-04 02:48:21 +0300
commit3e1761058711b12fa995f2b43117fb90ca40c9ad (patch)
tree5c1a84023e26d58570e6e6f90830ac13df6862d0 /test/mix
parent6ef145b4fc3f2ddb5865e84039c3b56656529711 (diff)
downloadpleroma-3e1761058711b12fa995f2b43117fb90ca40c9ad.tar.gz
Add task to test emails
Diffstat (limited to 'test/mix')
-rw-r--r--test/mix/tasks/pleroma.digest_test.exs42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/mix/tasks/pleroma.digest_test.exs b/test/mix/tasks/pleroma.digest_test.exs
new file mode 100644
index 000000000..1a54ac35b
--- /dev/null
+++ b/test/mix/tasks/pleroma.digest_test.exs
@@ -0,0 +1,42 @@
+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)
+
+ Mix.Tasks.Pleroma.Digest.run(["test", user2.nickname])
+
+ assert_email_sent(
+ to: {user2.name, user2.email},
+ html_body: ~r/new mentions:/i
+ )
+
+ assert_received {:mix_shell, :info, [message]}
+ assert message =~ "Digest email have been sent"
+ end
+ end
+end