Validation - Simple

Setup

defmodule Foo do
  use(Mazurka.Resource)

  param(foo)

  validation(foo != "bar")

  mediatype(Hyper) do
    action() do
      %{"foo" => foo}
    end
  end
end

action

{_, _, _} = Foo.action([], %{"foo" => "foo"}, %{}, %{})

action validation failure

assert_raise(Mazurka.ValidationException, fn -> Foo.action([], %{"foo" => "bar"}, %{}, %{}) end)

affordance

{_, _} = Foo.affordance([], %{"foo" => "foo"}, %{}, %{}, Router)

affordance validation success

{_, _} = Foo.affordance([], %{"foo" => "bar"}, %{}, %{}, Router)