Sha256: 57b6029a0cfd37a3061c72a16c13510bf5dc81c6802ca2621cf73b612227d564

Contents?: true

Size: 1.21 KB

Versions: 2

Compression:

Stored size: 1.21 KB

Contents

require "integration_spec_helper"

RSpec.describe NulogyMessageBusProducer::Subscriptions::NoVariables do
  it "blocks subscriptions with variables" do
    query = <<~SUBSCRIPTION
      subscription($sub_id: ID!, $sg_id: ID!, $topic: String!)  {
        testCreated(subscriptionId: $sub_id, subscriptionGroupId: $sg_id, topicName: $topic) {
          foo { id }
        }
      }
    SUBSCRIPTION

    result = execute_graphql(
      query,
      NulogyMessageBusProducer::Specs::TestSchema,
      variables: {
        sub_id: SecureRandom.uuid,
        sg_id: SecureRandom.uuid,
        topic: "test_topic"
      }
    )

    expect(result).to include_json(
      errors: [{ message: include("Subscriptions should not be created with arguments") }]
    )
  end

  it "does not block subscriptions without variables" do
    query = <<~SUBSCRIPTION
      subscription  {
        testCreated(
          subscriptionId: "#{SecureRandom.uuid}",
          subscriptionGroupId: "#{SecureRandom.uuid}",
          topicName: "test_topic"
        ) { foo { id } }
      }
    SUBSCRIPTION

    result = execute_graphql(
      query,
      NulogyMessageBusProducer::Specs::TestSchema
    )

    expect(result).not_to include(:errors)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nulogy_message_bus_producer-3.3.0 spec/integration/lib/nulogy_message_bus_producer/subscriptions/no_variables_spec.rb
nulogy_message_bus_producer-3.2.1 spec/integration/lib/nulogy_message_bus_producer/subscriptions/no_variables_spec.rb