test/unit/requisicao_transacao_test.rb in cieloz-0.0.19 vs test/unit/requisicao_transacao_test.rb in cieloz-0.0.20
- old
+ new
@@ -10,10 +10,13 @@
let(:pedido) {
_::DadosPedido.new numero: 123, valor: 5000, moeda: 986,
data_hora: now, descricao: "teste", idioma: "PT", soft_descriptor: "13letterstest"
}
let(:pagamento) { _::FormaPagamento.new.credito "visa" }
+ let(:avs) {
+ _::DadosAvs.new cep: '12345-123', endereco: 'Rua Lala', complemento: 'Casa', numero: '123', bairro: 'Brooklyn'
+ }
it "serializes dados-ec" do
subject.submit # @dados_ec is set on submission
assert_equal expected_xml(opts) { xml_for :ec, dir, binding }, subject.to_xml
end
@@ -31,15 +34,27 @@
it "serializes forma-pagamento" do
subject.forma_pagamento = pagamento
assert_equal expected_xml(opts) { xml_for :pagamento, dir, binding }, subject.to_xml
end
+ it "serializes dados-avs" do
+ subject.dados_avs = avs
+ assert_equal expected_xml(opts) { xml_for :avs, dir, binding }, subject.to_xml
+ end
+
it "serializes simple attributes" do
subject.url_retorno = "http://callback.acti.on"
subject.autorizacao_direta
subject.capturar_automaticamente
subject.campo_livre = "I want to break free"
assert_equal expected_xml(opts) { xml_for :simple_attrs, dir, binding }, subject.to_xml
+ end
+
+ it "doesn't permit automatic capture with AVS" do
+ subject.dados_avs = avs
+ subject.capturar_automaticamente
+ assert !subject.valid?
+ assert_equal 'Automatic capture is not permitted with AVS', subject.errors[:dados_avs].first
end
describe "request posting" do
let(:status_txn) { "0" }
let(:id) { "1001734898090FD31001" }