Sha256: 5d9645879f26ee4784dbb03317b9c9c4e31b7776980b08e78c31ce49b504578c

Contents?: true

Size: 1.51 KB

Versions: 17

Compression:

Stored size: 1.51 KB

Contents

require "spec_helper"

module NulogyMessageBusProducer
  module Configuration
    RSpec.describe QueryParser do
      it "parses queries" do
        query = <<~QUERY
          subscription {
            testCreated(subscriptionId: "abc", subscriptionGroupId: "123", topicName: "test-topic") {
              foo {
                id
              }
            }
          }
        QUERY

        qp = QueryParser.new(query)

        expect(qp.subscription_id).to eq("abc")
        expect(qp.subscription_group_id).to eq("123")
        expect(qp.event_type).to eq("testCreated")
        expect(qp.topic).to eq("test-topic")
      end

      context "when query is invalid" do
        it "raises errors for event type" do
          query = <<~QUERY
            testCreated(subscriptionId: "abc", subscriptionGroupId: "123", topicName: "test-topic") {
              foo {
                id
              }
            }
          QUERY

          qp = QueryParser.new(query)

          expect { qp.event_type }.to raise_error QueryParser::ParseError, /Error extracting event type/
        end

        it "raises errors for topic" do
          query = <<~QUERY
            subscription {
              testCreated(subscriptionId: "abc", subscriptionGroupId: "123") {
                foo {
                  id
                }
              }
            }
          QUERY

          qp = QueryParser.new(query)

          expect { qp.topic }.to raise_error QueryParser::ParseError, /Error extracting topic/
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
nulogy_message_bus_producer-5.0.8 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.7 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.6 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.5 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.4 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.3 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.2 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.1 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.1.alpha spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-5.0.0 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-4.0.0 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-3.7.0 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-3.6.0 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-3.5.0 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-4.0.0.alpha spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-3.4.1 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
nulogy_message_bus_producer-3.4.0 spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb