Put rich media processing in a Task
[akkoma] / test / support / builders / user_builder.ex
index 0028d42e0cadff4477dd7a449be3d742941216da..27470498df2e1637faa8d020583edd7887a4fb69 100644 (file)
@@ -1,18 +1,26 @@
 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"),
+      password_hash: Pleroma.Password.hash_pwd_salt("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