use strict;
use warnings;
use Test::More;
use Test::Fatal;
use Class::Load qw( load_class );
my $res
= new_ok( load_class('Business::CyberSource::Response') => [{
decision => 'ACCEPT',
reasonCode => '100',
requestID => '3497847984891076056428',
merchantReferenceCode => 'test-1349678423',
purchaseTotals => {
'currency' => 'USD'
},
requestToken => 'Ahj/7omgletsmakesurethisissecurebychangingitsguts'
. '/Imnotgivingyouarealcode/Icanthearyouu2AAAA/QAO',
ccAuthReply => {
processorResponse => '00',
authorizedDateTime => '2012-10-08T06:40:27Z',
reasonCode => '100',
authorizationCode => '831000',
amount => '3000.00',
avsCodeRaw => 'Y',
avsCode => 'Y',
reconciliationID => 'YY7YW81HRK4P',
authRecord => '0110322000000E10003840979308471907091389487900270'
. '728165933335487401834987091873407037490173409710734104400'
. '103208349839749037947073094710974070173405303730333830323'
. '03934734070970137490713904709',
},
}]);
ok ! $res->can('serialize'), 'can not serialize';
subtest 'can not call nonsense method' => sub {
my $e0 = exception { $res->flurble };
ok $e0, 'exception exists';
like $e0, qr/delegate/, 'matches pattern';
};
done_testing;