Sha256: 7074fc6fc9bb83652dd8ed3f37088c6bdbe1327e35347ec66c135c14f8ed54f9

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

RSpec.describe SoapyCake::Response do
  let(:xml) do
    <<-EOD
      <?xml version="1.0" encoding="utf-8"?>
      <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
        <soap:Body>
          <SomeResponse>
            <SomeResult>
              <success>true</success>
              <row_count>2</row_count>
              <somes>
                <some>
                  <id>123</id>
                </some>
                <some>
                  <id>312</id>
                </some>
              </somes>
            </SomeResult>
          </SomeResponse>
        </soap:Body>
      </soap:Envelope>
    EOD
  end

  subject(:response) { described_class.new(xml.strip, false, 0) }

  it 'returns an enumerator' do
    expect(response.to_enum).to be_a(Enumerator)
  end

  it 'parses the CAKE XML structure properly' do
    expect(response.to_enum.to_a).to eq([
                                          { id: '123' },
                                          { id: '312' }
                                        ])
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
soapy_cake-2.2.1 spec/lib/soapy_cake/response_spec.rb
soapy_cake-2.1.6 spec/lib/soapy_cake/response_spec.rb
soapy_cake-2.1.5 spec/lib/soapy_cake/response_spec.rb
soapy_cake-2.1.4 spec/lib/soapy_cake/response_spec.rb