summaryrefslogtreecommitdiff
path: root/test/tasks/user_test.exs
diff options
context:
space:
mode:
authorlambda <lain@soykaf.club>2019-04-10 10:10:08 +0000
committerlambda <lain@soykaf.club>2019-04-10 10:10:08 +0000
commite5d553aa45ffa218b0695d7976f012bfc1dcbafe (patch)
treef0f48276f13879fbf7c0355190e511112e473e2b /test/tasks/user_test.exs
parent6504b43f96860d1911ed9a17d1c487a6e8ac93ba (diff)
parentfee50636d07c54328ececfe8805c658e3bb80cc6 (diff)
downloadpleroma-e5d553aa45ffa218b0695d7976f012bfc1dcbafe.tar.gz
pleroma-e5d553aa45ffa218b0695d7976f012bfc1dcbafe.zip
Merge branch 'feature/767-multiple-use-invite-token' into 'develop'
Feature/767 multiple use invite token See merge request pleroma/pleroma!1032
Diffstat (limited to 'test/tasks/user_test.exs')
-rw-r--r--test/tasks/user_test.exs82
1 files changed, 81 insertions, 1 deletions
diff --git a/test/tasks/user_test.exs b/test/tasks/user_test.exs
index 1030bd555..242265da5 100644
--- a/test/tasks/user_test.exs
+++ b/test/tasks/user_test.exs
@@ -245,7 +245,87 @@ defmodule Mix.Tasks.Pleroma.UserTest do
end) =~ "http"
assert_received {:mix_shell, :info, [message]}
- assert message =~ "Generated"
+ assert message =~ "Generated user invite token one time"
+ end
+
+ test "token is generated with expires_at" do
+ assert capture_io(fn ->
+ Mix.Tasks.Pleroma.User.run([
+ "invite",
+ "--expires-at",
+ Date.to_string(Date.utc_today())
+ ])
+ end)
+
+ assert_received {:mix_shell, :info, [message]}
+ assert message =~ "Generated user invite token date limited"
+ end
+
+ test "token is generated with max use" do
+ assert capture_io(fn ->
+ Mix.Tasks.Pleroma.User.run([
+ "invite",
+ "--max-use",
+ "5"
+ ])
+ end)
+
+ assert_received {:mix_shell, :info, [message]}
+ assert message =~ "Generated user invite token reusable"
+ end
+
+ test "token is generated with max use and expires date" do
+ assert capture_io(fn ->
+ Mix.Tasks.Pleroma.User.run([
+ "invite",
+ "--max-use",
+ "5",
+ "--expires-at",
+ Date.to_string(Date.utc_today())
+ ])
+ end)
+
+ assert_received {:mix_shell, :info, [message]}
+ assert message =~ "Generated user invite token reusable date limited"
+ end
+ end
+
+ describe "running invites" do
+ test "invites are listed" do
+ {:ok, invite} = Pleroma.UserInviteToken.create_invite()
+
+ {:ok, invite2} =
+ Pleroma.UserInviteToken.create_invite(%{expires_at: Date.utc_today(), max_use: 15})
+
+ # assert capture_io(fn ->
+ Mix.Tasks.Pleroma.User.run([
+ "invites"
+ ])
+
+ # end)
+
+ assert_received {:mix_shell, :info, [message]}
+ assert_received {:mix_shell, :info, [message2]}
+ assert_received {:mix_shell, :info, [message3]}
+ assert message =~ "Invites list:"
+ assert message2 =~ invite.invite_type
+ assert message3 =~ invite2.invite_type
+ end
+ end
+
+ describe "running revoke_invite" do
+ test "invite is revoked" do
+ {:ok, invite} = Pleroma.UserInviteToken.create_invite(%{expires_at: Date.utc_today()})
+
+ assert capture_io(fn ->
+ Mix.Tasks.Pleroma.User.run([
+ "revoke_invite",
+ invite.token
+ ])
+ end)
+
+ assert_received {:mix_shell, :info, [message]}
+ assert message =~ "Invite for token #{invite.token} was revoked."
end
end