require 'spec_helper' describe 'Integration with a Document/Literal example' do subject(:client) { Sekken.new fixture('wsdl/document_literal_wrapped') } let(:service_name) { :SampleService } let(:port_name) { :Sample } it 'works with op1' do op1 = client.operation(service_name, port_name, :op1) expect(op1.example_body).to eq( op1: { in: { data1: 'int', data2: 'int' } } ) op1.body = { op1: { in: { data1: 24, data2: 36 } } } # The expected request. expected = Nokogiri.XML(' 24 36 ') expect(Nokogiri.XML op1.build). to be_equivalent_to(expected).respecting_element_order end it 'works with op3' do op3 = client.operation(service_name, port_name, :op3) expect(op3.example_body).to eq( op3: { DataElem: { data1: 'int', data2: 'int' }, in2: { RefDataElem: 'int' } } ) op3.body = { op3: { DataElem: { data1: 64, data2: 128 }, in2: { RefDataElem: 3 } } } expected = Nokogiri.XML(' 64 128 3 ') expect(Nokogiri.XML op3.build). to be_equivalent_to(expected).respecting_element_order end end