Add e2e seed and test event creation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
57
priv/repo/e2e.seed.exs
Normal file
57
priv/repo/e2e.seed.exs
Normal file
@@ -0,0 +1,57 @@
|
||||
defmodule EndToEndSeed do
|
||||
alias Mobilizon.Users
|
||||
|
||||
def delete_user(email) do
|
||||
with {:ok, user} <- Users.get_user_by_email(email) do
|
||||
Users.delete_user(user)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
alias Mobilizon.Users
|
||||
alias Mobilizon.Users.User
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.Actor
|
||||
|
||||
if Application.get_env(:mobilizon, :env) != :e2e do
|
||||
exit(:shutdown)
|
||||
end
|
||||
|
||||
# An user that has just been registered
|
||||
test_user_unconfirmed = %{email: "unconfirmed@email.com", password: "some password"}
|
||||
|
||||
# An user that has registered and has confirmed their account, but no attached identity
|
||||
test_user_confirmed = %{email: "confirmed@email.com", password: "some password"}
|
||||
|
||||
# An user that has registered and has confirmed their account, with a profile
|
||||
test_user = %{email: "user@email.com", password: "some password"}
|
||||
test_actor = %{preferred_username: "test_user", name: "I'm a test user", domain: nil}
|
||||
|
||||
EndToEndSeed.delete_user(test_user_unconfirmed.email)
|
||||
EndToEndSeed.delete_user(test_user_confirmed.email)
|
||||
EndToEndSeed.delete_user(test_user.email)
|
||||
|
||||
{:ok, %User{} = _user_unconfirmed} = Users.register(test_user_unconfirmed)
|
||||
|
||||
{:ok, %User{} = user_confirmed} = Users.register(test_user_confirmed)
|
||||
|
||||
Users.update_user(user_confirmed, %{
|
||||
"confirmed_at" => Timex.shift(user_confirmed.confirmation_sent_at, hours: -3),
|
||||
"confirmation_sent_at" => nil,
|
||||
"confirmation_token" => nil
|
||||
})
|
||||
|
||||
{:ok, %User{} = user} = Users.register(test_user)
|
||||
|
||||
Users.update_user(user, %{
|
||||
"confirmed_at" => Timex.shift(user.confirmation_sent_at, hours: -3),
|
||||
"confirmation_sent_at" => nil,
|
||||
"confirmation_token" => nil
|
||||
})
|
||||
|
||||
{:ok, %Actor{}} =
|
||||
Actors.new_person(%{
|
||||
user_id: user.id,
|
||||
preferred_username: test_actor.preferred_username,
|
||||
name: test_actor.name
|
||||
})
|
||||
Reference in New Issue
Block a user