debianize-mobilizon/test/support/abinthe_helpers.ex
Thomas Citharel 334d66bf5d
Add admin interface to manage instances subscriptions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-15 21:56:16 +01:00

40 lines
773 B
Elixir

defmodule MobilizonWeb.AbsintheHelpers do
use Phoenix.ConnTest
@endpoint MobilizonWeb.Endpoint
@moduledoc """
Absinthe helpers for tests
"""
def query_skeleton(query, query_name) do
%{
"operationName" => "#{query_name}",
"query" => "query #{query_name} #{query}",
"variables" => "{}"
}
end
def mutation_skeleton(query) do
%{
"operationName" => "",
"query" => "#{query}",
"variables" => ""
}
end
def graphql_query(conn, options) do
conn
|> post(
"/api",
build_query(options[:query], Keyword.get(options, :variables, %{}))
)
|> json_response(200)
end
defp build_query(query, variables) do
%{
"query" => query,
"variables" => variables
}
end
end