Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Tests
- include Integration
- class TestExecute < Test::Unit::TestCase
- def test_default_execution_case
- request = Integration::Request.new(registration, card)
- response = Transaction.run!(request)
- # Do something with the response
- end
- end
- end
- module Integration
- class Transaction
- def run!(request)
- @connection = Connection.new
- result = @connection.send_request!(request.to_xml())
- check_errors(result)
- end
- private
- def check_errors(result)
- unless result == Net::HTTPSuccess
- raise "Impossível contactar o servidor"
- end
- result
- end
- end
- class Request
- def initialize(registration, card)
- @registration = registration
- @card = card
- end
- def to_xml
- xml_builder("requisicao-transacao") do |xml|
- xml.numero registration.id
- xml.valor registration.training_class.price.to_i * 100
- xml.moeda "986"
- # Builds the whole XML...
- end
- end
- class Response
- def initialize(xml)
- map={}
- xml.each do |element|
- element_map = {}
- # Parses the xml and defines attributes' values
- map.merge!(element.name => element_map)
- end
- end
- end
Add Comment
Please, Sign In to add comment