Sha256: 05ef6a97f1796a56f96d34ee9ea59e70e273735fdc1af3822aa2034c0a20887c

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 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

1 entries across 1 versions & 1 rubygems

Version Path
correios-frete-alternative-1.10.2 spec/correios/frete/parser_spec.rb