Packages
potionx
0.4.13
0.8.15
0.8.14
0.8.13
0.8.12
0.8.11
0.8.10
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.1.1
0.1.0
Potionx is a set of generators and functions that speeds up the process of setting up and deploying a full-stack application that uses Elixir with GraphQL for the server-side component and Vue for the frontend component.
Current section
Files
Jump to
Current section
Files
priv/templates/potion.gen.gql_for_model/queries_test.exs
defmodule <%= module_name_graphql %>.Schema.<%= model_name %>QueryTest do
use <%= module_name_data %>.DataCase
alias <%= module_name_data %>.<%= context_name %>.<%= model_name %>Mock
alias <%= module_name_data %>.<%= context_name %>.<%= model_name %>Service
describe "<%= model_name_snakecase %> collection and single" do
setup do
ctx = %Potionx.Context.Service{
changes: <%= model_name %>Mock.run(),
roles: [:admin],
session: %{
id: 1,
user: %{
id: 1,
roles: [:admin]
}
}
}
{:ok, entry} = <%= model_name %>Service.mutation(ctx)
{:ok, ctx: ctx, entry: entry}
end
test "returns collection of <%= model_name_snakecase %>", %{ctx: ctx} do
File.read!("shared/src/models/<%= context_name %>/<%= model_name %>/<%= model_name_graphql_case %>Collection.gql")
|> Absinthe.run(
<%= module_name_graphql %>.Schema,
context: ctx,
variables: %{
"first" => 15
}
)
|> (fn {:ok, res} ->
assert res.data["<%= model_name_graphql_case %>Collection"]["count"] === 1
assert res.data["<%= model_name_graphql_case %>Collection"]["edges"] |> Enum.count === 1
end).()
end
test "returns single <%= model_name_snakecase %>", %{ctx: ctx, entry: entry} do
File.read!("shared/src/models/<%= context_name %>/<%= model_name %>/<%= model_name_graphql_case %>Single.gql")
|> Absinthe.run(
<%= module_name_graphql %>.Schema,
context: ctx,
variables: %{
"filters" => %{
"id" => Absinthe.Relay.Node.to_global_id(
:<%= model_name_snakecase %>,
entry.id,
<%= module_name_graphql %>.Schema
)
}
}
)
|> (fn {:ok, res} ->
assert res.data["<%= model_name_graphql_case %>Single"]["id"] ===
Absinthe.Relay.Node.to_global_id(
:<%= model_name_snakecase %>,
entry.id,
<%= module_name_graphql %>.Schema
)
end).()
end
end
end