don't die when we do not know how to perform the transaction
[Business-OnlinePayment-TransFirsteLink.git] / t / bop.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5 use Test::More tests => 10;
6
7 use Business::OnlinePayment;
8
9 my $package = "Business::OnlinePayment";
10 my $driver  = "TransFirsteLink";
11
12 {    # new
13     my $obj;
14
15     $obj = $package->new($driver);
16     isa_ok( $obj, $package );
17
18     # convenience methods
19     can_ok( $obj, qw(order_number avs_code cvv2_response) );
20     can_ok( $obj, qw(debug expdate_mmyy) );
21
22     # internal methods
23     can_ok( $obj, qw(_map_fields _revmap_fields) );
24
25     # defaults
26     my $server = "epaysecure1.transfirst.com";
27
28     is( $obj->server, $server, "server($server)" );
29     is( $obj->port, "443", "port(443)" );
30 }
31
32 {    # expdate
33     my $obj = $package->new($driver);
34     my @exp = (
35
36         #OFF [qw(1999.8   0899)],
37         #OFF [qw(1984-11  1184)],
38         #OFF [qw(06/7     0706)],
39         #OFF [qw(06-12    1206)],
40         [qw(12/06    1206)],
41         [qw(6/2000   0600)],
42         [qw(10/2000  1000)],
43         [qw(1/99     0199)],
44     );
45     foreach my $aref (@exp) {
46         my ( $exp, $moyr ) = @$aref;
47         my ($mmyy) = $obj->expdate_mmyy($exp);
48         is( $mmyy, $moyr, "$exp: MMYY '$mmyy' eq '$moyr' from $exp" );
49     }
50 }