Sha256: a66d9c8253bae3d589b117fd725b9de83c1b89d9220b15152b014de3a46c52e9
Contents?: true
Size: 1.36 KB
Versions: 3
Compression:
Stored size: 1.36 KB
Contents
module SubscriptionHelpers def subscribe_to( schema: NulogyMessageBusProducer::Specs::TestSchema, subscription_id: SecureRandom.uuid, **query_args ) gql = subscription_query(subscription_id: subscription_id, **query_args) expect do gql_response = execute_graphql(gql, schema) expect(gql_response).to eq(data: {}) end.to change(NulogyMessageBusProducer::Subscription, :count).by(1) NulogyMessageBusProducer::Subscription.find(subscription_id) end def subscription_query( event_type: "testCreated", query: "foo { id }", subscription_id: SecureRandom.uuid, subscription_group_id: SecureRandom.uuid, topic_name: "some_topic" ) <<~GRAPHQL subscription { #{event_type} ( subscriptionId: "#{subscription_id}", subscriptionGroupId: "#{subscription_group_id}", topicName: "#{topic_name}" ) { #{query} } } GRAPHQL end def execute_graphql(query, schema, variables: {}, context: {}) response = schema.execute( query, variables: variables, context: context, operation_name: nil ) response.to_h.deep_symbolize_keys end def trigger_event(event_type, root_object) schema = NulogyMessageBusProducer::Specs::TestSchema NulogyMessageBusProducer.trigger_event(schema, event_type, root_object) end end
Version data entries
3 entries across 3 versions & 1 rubygems