Current section

Files

Jump to
datacaster test datacaster array_schema_test.exs
Raw

test/datacaster/array_schema_test.exs

defmodule Datacaster.ArraySchemaTest do
use ExUnit.Case
use Datacaster
import DatacasterTestHelper
alias Datacaster.{
Error,
Success
}
test "it returns success" do
caster = Datacaster.schema do
array_of(check(&(&1 == :foo)))
end
assert run_caster(caster, [:foo, :foo]) == Success.new([:foo, :foo])
end
test "it returns error" do
caster = Datacaster.schema do
array_of(check(&(&1 == :foo)) * check(&(&1 == :bar)))
end
assert run_caster(caster, [:foo, :baz]) == %Error.Map{
errors: %{
0 => %Error{
error: "invalid",
context: checked_context([], :foo)
},
1 => %Error.List{
errors: [
%Error{
error: "invalid",
context: checked_context([], :baz)
},
%Error{
error: "invalid",
context: checked_context([], :baz)
}
]
}
}
}
end
end