@ -33,6 +33,7 @@ To add configuration to your config file, you can copy it from the base config.
* `registrations_open`: Enable registrations for anyone, invitations can be enabled when false.
* `invites_enabled`: Enable user invitations for admins (depends on `registrations_open: false`).
* `account_activation_required`: Require users to confirm their emails before signing in.
* `account_approval_required`: Require users to be manually approved by an admin before signing in.
* `federating`: Enable federation with other instances.
* `federation_incoming_replies_max_depth`: Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. If set to `nil`, threads of any depth will be fetched. Lower this value if you experience out-of-memory crashes.
* `federation_reachability_timeout_days`: Timeout (in days) of each external federation target being unreachable prior to pausing federating to it.
@ -58,6 +59,7 @@ To add configuration to your config file, you can copy it from the base config.
* `max_remote_account_fields`: The maximum number of custom fields in the remote user profile (default: `20`).
* `account_field_name_length`: An account field name maximum length (default: `512`).
* `account_field_value_length`: An account field value maximum length (default: `2048`).
* `registration_reason_length`: Maximum registration reason length (default: `500`).
* `external_user_synchronization`: Enabling following/followers counters synchronization for external users.
* `cleanup_attachments`: Remove attachments along with statuses. Does not affect duplicate files and attachments without status. Enabling this will increase load to database when deleting statuses on larger instances.
"Quia et nesciunt dolores numquam ipsam nisi sapiente soluta. Ullam repudiandae nisi quam porro officiis officiis ad. Consequatur animi velit ex quia. Odit voluptatem perferendis quia ut nisi. Dignissimos sit soluta atque aliquid dolorem ut dolorum ut. Labore voluptates iste iusto amet voluptatum earum. Ad fugit illum nam eos ut nemo. Pariatur ea fuga non aspernatur. Dignissimos debitis officia corporis est nisi ab et. Atque itaque alias eius voluptas minus. Accusamus numquam tempore occaecati in."
)
changeset=User.register_changeset(%User{},params)
refutechangeset.valid?
end
end
describe"get_or_fetch/1"do
test"gets an existing user by nickname"do
user=insert(:user)
@ -1208,6 +1248,31 @@ defmodule Pleroma.UserTest do
end
end
describe"approve"do
test"approves a user"do
user=insert(:user,approval_pending:true)
asserttrue==user.approval_pending
{:ok,user}=User.approve(user)
assertfalse==user.approval_pending
end
test"approves a list of users"do
unapproved_users=[
insert(:user,approval_pending:true),
insert(:user,approval_pending:true),
insert(:user,approval_pending:true)
]
{:ok,users}=User.approve(unapproved_users)
assertEnum.count(users)==3
Enum.each(users,fnuser->
assertfalse==user.approval_pending
end)
end
end
describe"delete"do
setupdo
{:ok,user}=insert(:user)|>User.set_cache()
@ -1295,6 +1360,17 @@ defmodule Pleroma.UserTest do
end
end
test"delete/1 when approval is pending deletes the user"do
user=insert(:user,approval_pending:true)
{:ok,user:user}
{:ok,job}=User.delete(user)
{:ok,_}=ObanHelpers.perform(job)
refuteUser.get_cached_by_id(user.id)
refuteUser.get_by_id(user.id)
end
test"get_public_key_for_ap_id fetches a user that's not in the db"do