anise v0.1.0 Anise.SubscriptionCase View Source
Conveniences for testing Absinthe subscriptions
Usage
Setup
You need to use use
macro, and pass required options.
@endpoint MyAppWeb.Endpoint
use Anise.SubscriptionCase,
schema: MyAppWeb.Schema,
socket: MyAppWeb.UserSocket
Example above is from application specific SubscriptionCase, like ones that Phoenix generates.
Usage
test "sub with fufilment", %{socket: socket, conn: conn} do
assert %{
payload: %{subscriptionId: sub_id},
status: :ok
} = subscribe(socket, @subscription)
graphql(conn, "/api", @mutation, %{email: "test@example.com", name: "Boris"})
assert subscription_fulfilment = %{
result: %{data: %{"userAdded" => %{"name" => "Boris"}}}
}
end
Link to this section Summary
Functions
When subscription fufiled it receives data from it
Same as assert_subscription_fulfilment but refute
Link to this section Functions
When subscription fufiled it receives data from it.
WARNING
Paylod are patterns, dont forget to pin variables!
Exapmples
Good
expected = %{result: %{data: %{"userAdded" => %{"name" => "Boris"}}}}
assert_subscription_fulfilment fufilment
assert fufilment = expected
Bad
expected = %{result: %{data: %{"userAdded" => %{"name" => "Boris"}}}}
assert_subscription_fulfilment expected
Same as assert_subscription_fulfilment but refute