26 lines
		
	
	
	
		
			725 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			725 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
defmodule Pleroma.Builders.UserBuilder do
 | 
						|
  alias Pleroma.Repo
 | 
						|
  alias Pleroma.User
 | 
						|
 | 
						|
  def build(data \\ %{}) do
 | 
						|
    user = %User{
 | 
						|
      email: "test@example.org",
 | 
						|
      name: "Test Name",
 | 
						|
      nickname: "testname",
 | 
						|
      password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt("test"),
 | 
						|
      bio: "A tester.",
 | 
						|
      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(data \\ %{}) do
 | 
						|
    {:ok, user} = Repo.insert(build(data))
 | 
						|
    User.invalidate_cache(user)
 | 
						|
    {:ok, user}
 | 
						|
  end
 | 
						|
end
 |