Introduce basic user and profile management

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2020-06-11 19:13:21 +02:00
parent da4ea84baf
commit beb35a09c6
51 changed files with 1808 additions and 254 deletions

View File

@@ -59,7 +59,8 @@ defmodule Mobilizon.ActorsTest do
end
test "list_actors/0 returns all actors", %{actor: %Actor{id: actor_id}} do
assert actor_id == hd(Actors.list_actors()).id
assert %Page{total: 1, elements: [%Actor{id: id}]} = Actors.list_actors()
assert id == actor_id
end
test "get_actor!/1 returns the actor with given id", %{actor: %Actor{id: actor_id} = actor} do
@@ -316,7 +317,7 @@ defmodule Mobilizon.ActorsTest do
assert_enqueued(
worker: Workers.Background,
args: %{"actor_id" => actor.id, "op" => "delete_actor"}
args: %{"actor_id" => actor.id, "op" => "delete_actor", "reserve_username" => true}
)
assert %{success: 1, failure: 0} == Oban.drain_queue(:background)

View File

@@ -4,8 +4,7 @@ defmodule Mobilizon.EventsTest do
import Mobilizon.Factory
alias Mobilizon.Actors.Actor
alias Mobilizon.{Conversations, Events}
alias Mobilizon.Conversations.Comment
alias Mobilizon.Events
alias Mobilizon.Events.{Event, Participant, Session, Tag, TagRelation, Track}
alias Mobilizon.Service.Workers
alias Mobilizon.Storage.Page

View File

@@ -1,6 +1,7 @@
defmodule Mobilizon.UsersTest do
use Mobilizon.DataCase
alias Mobilizon.Storage.Page
alias Mobilizon.Users
alias Mobilizon.Users.{Setting, User}
import Mobilizon.Factory
@@ -13,7 +14,7 @@ defmodule Mobilizon.UsersTest do
test "list_users/0 returns all users" do
user = insert(:user)
users = Users.list_users(nil, nil, :id, :desc)
%Page{elements: users, total: 1} = Users.list_users("", nil, nil, :id, :desc)
assert [user.id] == users |> Enum.map(& &1.id)
end
@@ -52,9 +53,15 @@ defmodule Mobilizon.UsersTest do
assert user = Users.get_user!(user.id)
end
test "delete_user/1 deletes the user" do
test "delete_user/1 empties the user" do
user = insert(:user)
assert {:ok, %User{}} = Users.delete_user(user)
assert Users.get_user(user.id).disabled == true
end
test "delete_user/1 deletes the user" do
user = insert(:user)
assert {:ok, %User{}} = Users.delete_user(user, reserve_email: false)
assert_raise Ecto.NoResultsError, fn -> Users.get_user!(user.id) end
end