AbsintheExtra

Hex

AbsintheExtra is a extra tool for absinthe

Installation

def deps do
[
{:absinthe_extra, "~> 0.1.0"}
]
end
config :absinthe_extra,
endpoint: Web.Endpoint,
path: "/graphql",
complexity: 5,
schema: Web.Schema

these fields also can be passed through options

QueryBuilder/Assertion Example

Schema for test

defmodule Web.Schema do
use Absinthe.Schema
query do
field :user, :user do
arg :id, :id
end
end
object :user do
field :name, :string do
arg :capitalize, :boolean
end
end
end

How to use

iex(1) > fields = fields(:user)
iex(2) > fields = argument_fields(fields, name: [capitalize: false])
iex(3) > query = graphql_query(:user, [id: 1], fields)
iex(4) > assert %{name: "name"} == graphql_success(conn, query)