Current section
Files
Jump to
Current section
Files
test/support/factory.ex
defmodule Lyn.Factory do
use ExMachina.Ecto, repo: Lyn.Repo
alias Lyn.Role
alias Lyn.User
alias Lyn.Authorization
alias Lyn.GuardianToken
def factory(:role) do
%Role{
name: sequence(:name, &"Test Role #{&1}"),
admin: false
}
end
def factory(:user) do
%User{
username: sequence(:username, &"User #{&1}"),
name: sequence(:name, &"User #{&1}"),
email: sequence(:email, &"test#{&1}@test.com"),
password: "test1234",
password_confirmation: "test1234",
password_digest: Comeonin.Bcrypt.hashpwsalt("test1234"),
role: build(:role)
}
end
def factory(:guardian_token) do
%GuardianToken{
jti: sequence(:jti, &"jti-#{&1}"),
}
end
def factory(:authorization) do
%Authorization{
uid: sequence(:uid, &"uid-#{&1}"),
user: build(:user),
provider: "identity",
token: Comeonin.Bcrypt.hashpwsalt("sekrit")
}
end
def with_authorization(user, opts \\ []) do
opts = opts ++ [user: user, uid: user.email]
create(:authorization, opts)
end
end