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