X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=test%2Fuser_test.exs;h=aab6473cf6ecf2752ab71153f9e4a770271d56df;hb=535fddd2864f3ed8eebc24cbaf0e5b04ec6f4dbe;hp=9baa5ef242586c3cc1f80276ad01a1b054b78f2f;hpb=89b3729afa130a62a47ed6372350ebfc5acb4064;p=akkoma diff --git a/test/user_test.exs b/test/user_test.exs index 9baa5ef24..aab6473cf 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -1,3 +1,7 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2018 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + defmodule Pleroma.UserTest do alias Pleroma.Builders.UserBuilder alias Pleroma.{User, Repo, Activity} @@ -11,6 +15,23 @@ defmodule Pleroma.UserTest do :ok end + describe "when tags are nil" do + test "tagging a user" do + user = insert(:user, %{tags: nil}) + user = User.tag(user, ["cool", "dude"]) + + assert "cool" in user.tags + assert "dude" in user.tags + end + + test "untagging a user" do + user = insert(:user, %{tags: nil}) + user = User.untag(user, ["cool", "dude"]) + + assert user.tags == [] + end + end + test "ap_id returns the activity pub id for the user" do user = UserBuilder.build() @@ -160,6 +181,48 @@ defmodule Pleroma.UserTest do end end + describe "user registration, with :account_activation_required" do + @full_user_data %{ + bio: "A guy", + name: "my name", + nickname: "nick", + password: "test", + password_confirmation: "test", + email: "email@example.com" + } + + setup do + setting = Pleroma.Config.get([:instance, :account_activation_required]) + + unless setting do + Pleroma.Config.put([:instance, :account_activation_required], true) + on_exit(fn -> Pleroma.Config.put([:instance, :account_activation_required], setting) end) + end + + :ok + end + + test "it creates unconfirmed user" do + changeset = User.register_changeset(%User{}, @full_user_data) + assert changeset.valid? + + {:ok, user} = Repo.insert(changeset) + + assert user.info.confirmation_pending + assert user.info.confirmation_token + end + + test "it creates confirmed user if :confirmed option is given" do + changeset = User.register_changeset(%User{}, @full_user_data, confirmed: true) + assert changeset.valid? + + {:ok, user} = Repo.insert(changeset) + + refute user.info.confirmation_pending + refute user.info.confirmation_token + end + end + describe "get_or_fetch/1" do test "gets an existing user by nickname" do user = insert(:user)