58 lines
1.7 KiB
Elixir
58 lines
1.7 KiB
Elixir
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, reserve_email: false)
|
|
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
|
|
})
|