Validation - Ordering
Setup
defmodule Foo do
use(Mazurka.Resource)
param(foo)
validation(foo != "bar")
validation(foo != "baz")
validation(throw(:foo))
mediatype(Hyper) do
action() do
%{"foo" => foo}
end
end
end
action
catch_throw(Foo.action([], %{"foo" => "foo"}, %{}, %{}))
action first condition failure
assert_raise(Mazurka.ValidationException, fn -> Foo.action([], %{"foo" => "bar"}, %{}, %{}) end)
action second condition failure
assert_raise(Mazurka.ValidationException, fn -> Foo.action([], %{"foo" => "baz"}, %{}, %{}) end)
affordance
{_, _} = Foo.affordance([], %{"foo" => "foo"}, %{}, %{}, Router)
affordance first validation success
{_, _} = Foo.affordance([], %{"foo" => "bar"}, %{}, %{}, Router)
affordance second validation sucess
{_, _} = Foo.affordance([], %{"foo" => "baz"}, %{}, %{}, Router)