5f03ca28ee4043c516c77d8e9974dae78af10163
[Business-OnlinePayment-PayflowPro.git] / t / bop.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5 use Test::More tests => 11;
6
7 use Business::OnlinePayment;
8
9 my $package = "Business::OnlinePayment";
10 my $driver  = "PayflowPro";
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(vendor partner) );
20     can_ok( $obj, qw(order_number avs_code cvv2_code) );
21     can_ok( $obj, qw(request_id param debug expdate_mmyy) );
22
23     # internal methods
24     can_ok( $obj, qw(_map_fields _revmap_fields) );
25
26     # defaults
27     my $server = "payflow.verisign.com";
28
29     is( $obj->server, $server, "server($server)" );
30     is( $obj->port, "443", "port(443)" );
31 }
32
33 {    # expdate
34     my $obj = $package->new($driver);
35     my @exp = (
36
37         #OFF [qw(1999.8   0899)],
38         #OFF [qw(1984-11  1184)],
39         #OFF [qw(06/7     0706)],
40         #OFF [qw(06-12    1206)],
41         [qw(12/06    1206)],
42         [qw(6/2000   0600)],
43         [qw(10/2000  1000)],
44         [qw(1/99     0199)],
45     );
46     foreach my $aref (@exp) {
47         my ( $exp, $moyr ) = @$aref;
48         my ($mmyy) = $obj->expdate_mmyy($exp);
49         is( $mmyy, $moyr, "$exp: MMYY '$mmyy' eq '$moyr' from $exp" );
50     }
51 }