Skip to content

Instantly share code, notes, and snippets.

@blacksails
Created September 22, 2015 11:46
Show Gist options
  • Save blacksails/fff3218d4416757318d0 to your computer and use it in GitHub Desktop.
Save blacksails/fff3218d4416757318d0 to your computer and use it in GitHub Desktop.
setup do
user = User.changeset(%User{}, %{
email: "foo@bar.com",
password: "Foobar12345!"})
|> Repo.insert!
role = Role.changeset(%Role{}, %{name: "some_role"})
|> Repo.insert!
{:ok, user: user, role: role}
end
test "valid user role", context do
changeset = UserRole.changeset(%UserRole{}, %{
user_id: context[:user].id,
role_id: context[:role].id})
assert {:ok, user_role} = Repo.insert(changeset)
end
test "user role has foreign key user_id", context do
changeset = UserRole.changeset(%UserRole{}, %{
user_id: context[:user].id + 1,
role_id: context[:role].id})
assert {:error, user_role} = Repo.insert(changeset)
assert user_role.errors == [user_id: "does not exist"]
end
test "user role has foreign key role_id", context do
changeset = UserRole.changeset(%UserRole{}, %{
user_id: context[:user].id,
role_id: context[:role].id + 1})
assert {:error, user_role} = Repo.insert(changeset)
assert user_role.errors == [role_id: "does not exist"]
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment