Add Ecto user model
parent
74384b1c39
commit
5eeb278b90
@ -0,0 +1,18 @@
|
||||
defmodule Asciinema.UserTest do
|
||||
use Asciinema.ModelCase
|
||||
|
||||
alias Asciinema.User
|
||||
|
||||
@valid_attrs %{asciicasts_private_by_default: true, auth_token: "some content", email: "some content", name: "some content", temporary_username: "some content", theme_name: "some content", username: "some content"}
|
||||
@invalid_attrs %{}
|
||||
|
||||
test "changeset with valid attributes" do
|
||||
changeset = User.changeset(%User{}, @valid_attrs)
|
||||
assert changeset.valid?
|
||||
end
|
||||
|
||||
test "changeset with invalid attributes" do
|
||||
changeset = User.changeset(%User{}, @invalid_attrs)
|
||||
refute changeset.valid?
|
||||
end
|
||||
end
|
@ -0,0 +1,24 @@
|
||||
defmodule Asciinema.User do
|
||||
use Asciinema.Web, :model
|
||||
|
||||
schema "users" do
|
||||
field :username, :string
|
||||
field :temporary_username, :string
|
||||
field :email, :string
|
||||
field :name, :string
|
||||
field :auth_token, :string
|
||||
field :theme_name, :string
|
||||
field :asciicasts_private_by_default, :boolean, default: true
|
||||
|
||||
# timestamps()
|
||||
end
|
||||
|
||||
@doc """
|
||||
Builds a changeset based on the `struct` and `params`.
|
||||
"""
|
||||
def changeset(struct, params \\ %{}) do
|
||||
struct
|
||||
|> cast(params, [:email, :name, :username, :temporary_username, :auth_token, :theme_name, :asciicasts_private_by_default])
|
||||
|> validate_required([:email, :name, :username, :temporary_username, :auth_token, :theme_name, :asciicasts_private_by_default])
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue