Added mix commands to manage users and view actors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
52
test/tasks/actors_test.exs
Normal file
52
test/tasks/actors_test.exs
Normal file
@@ -0,0 +1,52 @@
|
||||
defmodule Mix.Tasks.Mobilizon.ActorsTest do
|
||||
use Mobilizon.DataCase
|
||||
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mix.Tasks.Mobilizon.Actors.Show
|
||||
import Mobilizon.Factory
|
||||
|
||||
Mix.shell(Mix.Shell.Process)
|
||||
|
||||
@username "someone"
|
||||
@domain "somewhere.tld"
|
||||
|
||||
describe "show actor" do
|
||||
test "show existing local actor" do
|
||||
%Actor{} = actor = insert(:actor, preferred_username: @username)
|
||||
|
||||
output = """
|
||||
Informations for the actor #{@username}:
|
||||
- Type: Person
|
||||
- Domain: Local
|
||||
- Name: #{actor.name}
|
||||
- Summary: #{actor.summary}
|
||||
- User: #{actor.user.email}
|
||||
"""
|
||||
|
||||
Show.run([@username])
|
||||
assert_received {:mix_shell, :info, [output_received]}
|
||||
assert output_received == output
|
||||
end
|
||||
|
||||
test "show existing remote actor" do
|
||||
%Actor{} = actor = insert(:actor, preferred_username: @username, user: nil, domain: @domain)
|
||||
|
||||
output = """
|
||||
Informations for the actor #{@username}:
|
||||
- Type: Person
|
||||
- Domain: #{@domain}
|
||||
- Name: #{actor.name}
|
||||
- Summary: #{actor.summary}
|
||||
- User: Remote
|
||||
"""
|
||||
|
||||
Show.run(["#{@username}@#{@domain}"])
|
||||
assert_received {:mix_shell, :info, [output_received]}
|
||||
assert output_received == output
|
||||
end
|
||||
|
||||
test "show non-existing actor" do
|
||||
assert_raise Mix.Error, "Error: No such actor", fn -> Show.run([@username]) end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user