Sha256: 462c81fabbf7ee89c24cad3a4da2265eaeca9f255fe424f8c0f4dec598f90e91

Contents?: true

Size: 821 Bytes

Versions: 1

Compression:

Stored size: 821 Bytes

Contents

describe Pheme::MessageType::SnsMessage do
  module SnsMessage
    class Fixture < ExampleQueuePoller
      include Pheme::MessageType::SnsMessage
    end
  end

  subject { SnsMessage::Fixture.new }

  let(:poller) do
    poller = double
    allow(poller).to receive(:poll).with(kind_of(Hash))
    allow(poller).to receive(:parse_message)
    allow(poller).to receive(:before_request)
    poller
  end
  
  before(:each) do
    use_default_configuration!
    allow(Aws::SQS::QueuePoller).to receive(:new) { poller }
  end

  describe "#parse_message" do
    context "with JSON message" do
      let!(:message) { OpenStruct.new({ body: '{"Message":"{\"test\":\"test\"}"}' }) }

      it 'should parse the message correctly' do
        expect(subject.parse_message(message).test).to eq("test")
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pheme-0.0.8 spec/message_type/sns_message_spec.rb