aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-04-15 16:40:09 +0200
committerRoger Braun <roger@rogerbraun.net>2017-04-15 16:40:09 +0200
commit03c6148bb3dfe6efe512363d2793eb233e020d50 (patch)
treec45706122ae98a0b672aba967b0c41b7d368871f /test
parent4f7adb343c66dba0a3c6883cd9f4156fb43594d4 (diff)
downloadpleroma-03c6148bb3dfe6efe512363d2793eb233e020d50.tar.gz
Add user registration changeset.
Diffstat (limited to 'test')
-rw-r--r--test/user_test.exs31
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