Skip to content

Commit

Permalink
Add tests for assoc constraint, fix schema name
Browse files Browse the repository at this point in the history
  • Loading branch information
begedin committed Oct 24, 2016
1 parent 2ac9079 commit 2daad65
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 12 deletions.
36 changes: 25 additions & 11 deletions test/models/stripe_account_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,33 @@ defmodule CodeCorps.StripeAccountTest do

@invalid_attrs %{}

test "changeset with valid attributes" do
organization_id = insert(:organization).id
describe "create_changeset/2" do
test "reports as valid when attributes are valid" do
organization_id = insert(:organization).id

changes = Map.merge(@valid_attrs, %{organization_id: organization_id})
changeset = StripeAccount.create_changeset(%StripeAccount{}, changes)
assert changeset.valid?
end
changes = Map.merge(@valid_attrs, %{organization_id: organization_id})
changeset = StripeAccount.create_changeset(%StripeAccount{}, changes)
assert changeset.valid?
end

test "reports as invalid when attributes are invalid" do
changeset = StripeAccount.create_changeset(%StripeAccount{}, @invalid_attrs)
refute changeset.valid?

assert changeset.errors[:id_from_stripe] == {"can't be blank", []}
assert changeset.errors[:organization_id] == {"can't be blank", []}
end

test "ensures associations link to records that exist" do
attrs = @valid_attrs |> Map.merge(%{organization_id: -1})

test "changeset with invalid attributes" do
changeset = StripeAccount.create_changeset(%StripeAccount{}, @invalid_attrs)
refute changeset.valid?
{ result, changeset } =
StripeAccount.create_changeset(%StripeAccount{}, attrs)
|> Repo.insert

assert changeset.errors[:id_from_stripe] == {"can't be blank", []}
assert changeset.errors[:organization_id] == {"can't be blank", []}
assert result == :error
refute changeset.valid?
assert changeset.errors[:organization] == {"does not exist", []}
end
end
end
2 changes: 1 addition & 1 deletion web/models/stripe_account.ex
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ defmodule CodeCorps.StripeAccount do

use CodeCorps.Web, :model

schema "stripe_account" do
schema "stripe_accounts" do
field :business_name, :string
field :business_url, :string
field :charges_enabled, :boolean
Expand Down

0 comments on commit 2daad65

Please sign in to comment.