use strict; use warnings; use Test::More; use Class::Load qw( load_class ); use FindBin; use lib "$FindBin::Bin/lib"; my $t = load_class('Test::Business::CyberSource')->new; my $client = $t->resolve( service => '/client/object' ); my $ret = $client->run_transaction( $t->resolve( service => '/request/authorization' ) ); isa_ok( $ret, 'Business::CyberSource::Response' ); isa_ok( $ret->auth->datetime, 'DateTime' ); is( $ret->is_accept, 1, 'success' ); is( $ret->decision, 'ACCEPT', 'decision' ); is( $ret->reason_code, 100, 'reason_code' ); is( $ret->currency, 'USD', 'currency' ); is( $ret->auth->amount, '3000.00', 'amount' ); is( $ret->auth->avs_code, 'Y', 'avs_code' ); is( $ret->auth->avs_code_raw, 'Y', 'avs_code_raw' ); is( $ret->reason_text, 'Successful transaction', 'reason_text' ); is( $ret->auth->auth_code, '831000', 'auth_code' ); ok( $ret->request_id, 'request_id exists' ); ok( $ret->request_token, 'request_token exists' ); ok( $ret->auth->auth_record, 'auth_record exists' ); is( $ret->auth->processor_response, '00','processor_response'); ok ! ref $ret->request_id, 'request_id is not a reference'; ok $ret->has_trace, 'response has trace'; isa_ok $ret->trace, 'XML::Compile::SOAP::Trace'; done_testing;