Sha256: 11c8ee2be6cdea9d76d5f3ffd3f67ba7836a0639e74009324c45c8e761185c77

Contents?: true

Size: 1.47 KB

Versions: 4

Compression:

Stored size: 1.47 KB

Contents

# encoding: UTF-8
describe Correios::Frete::Parser do
  describe "#servicos" do
    let(:xml) { body_for :success_response_many_services }
    let(:parser) { Correios::Frete::Parser.new }

    it "encodes from ISO-8859-1 to UTF-8" do
      expect(xml).to receive(:encode).with("UTF-8", "ISO-8859-1").and_return(xml)
      parser.servicos(xml)
    end

    { :pac => { :tipo => :pac,
                :codigo => "04510",
                :valor => 15.70,
                :prazo_entrega => 3,
                :valor_mao_propria => 3.75,
                :valor_aviso_recebimento => 1.99,
                :valor_valor_declarado => 1.50,
                :entrega_domiciliar => true,
                :entrega_sabado => false,
                :erro => "-3",
                :msg_erro => "Somente para teste" },
      :sedex => { :tipo => :sedex,
                  :codigo => "04014",
                  :valor => 17.8,
                  :prazo_entrega => 1,
                  :valor_mao_propria => 3.70,
                  :valor_aviso_recebimento => 0.0,
                  :valor_valor_declarado => 1.5,
                  :entrega_domiciliar => true,
                  :entrega_sabado => true,
                  :erro => "0",
                  :msg_erro => nil }
    }.each do |service, attributes|
      it "returns #{service} data" do
        servicos = parser.servicos(xml)

        attributes.each do |attr, value|
          expect(servicos[service].send(attr)).to eq(value)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
correios-frete-1.13.0 spec/correios/frete/parser_spec.rb
correios-frete-1.12.0 spec/correios/frete/parser_spec.rb
correios-frete-1.11.1 spec/correios/frete/parser_spec.rb
correios-frete-1.11.0 spec/correios/frete/parser_spec.rb