defmodule Pleroma.Builders.UserBuilder do
- alias Pleroma.{User, Repo}
+ alias Pleroma.Repo
+ alias Pleroma.User
- def build do
- %User{
+ def build(data \\ %{}) do
+ user = %User{
email: "test@example.org",
name: "Test Name",
nickname: "testname",
password_hash: Comeonin.Pbkdf2.hashpwsalt("test"),
bio: "A tester.",
- ap_id: "some id"
+ ap_id: "some id",
+ last_digest_emailed_at: NaiveDateTime.truncate(NaiveDateTime.utc_now(), :second),
+ multi_factor_authentication_settings: %Pleroma.MFA.Settings{},
+ notification_settings: %Pleroma.User.NotificationSetting{}
}
+
+ Map.merge(user, data)
end
- def insert do
- Repo.insert(build())
+ def insert(data \\ %{}) do
+ {:ok, user} = Repo.insert(build(data))
+ User.invalidate_cache(user)
+ {:ok, user}
end
end