diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-04-15 16:40:09 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-04-15 16:40:09 +0200 |
commit | 03c6148bb3dfe6efe512363d2793eb233e020d50 (patch) | |
tree | c45706122ae98a0b672aba967b0c41b7d368871f /test | |
parent | 4f7adb343c66dba0a3c6883cd9f4156fb43594d4 (diff) | |
download | pleroma-03c6148bb3dfe6efe512363d2793eb233e020d50.tar.gz |
Add user registration changeset.
Diffstat (limited to 'test')
-rw-r--r-- | test/user_test.exs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/user_test.exs b/test/user_test.exs index f41063e9c..e7843e1a8 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -53,4 +53,35 @@ defmodule Pleroma.UserTest do assert User.following?(user, followed) refute User.following?(followed, user) end + + describe "user registration" do + @full_user_data %{ + bio: "A guy", + name: "my name", + nickname: "nick", + password: "test", + password_confirmation: "test", + email: "email@example.com" + } + + test "it requires a bio, email, name, nickname and password" do + @full_user_data + |> Map.keys + |> Enum.each(fn (key) -> + params = Map.delete(@full_user_data, key) + changeset = User.register_changeset(%User{}, params) + assert changeset.valid? == false + end) + end + + test "it sets the password_hash, ap_id and following fields" do + changeset = User.register_changeset(%User{}, @full_user_data) + + assert changeset.valid? + + assert is_binary(changeset.changes[:password_hash]) + assert changeset.changes[:ap_id] == User.ap_id(%User{nickname: @full_user_data.nickname}) + assert changeset.changes[:following] == [User.ap_followers(%User{nickname: @full_user_data.nickname})] + end + end end |