0.01
[Net-Artera.git] / t / Artera.t
1 # Before `make install' is performed this script should be runnable with
2 # `make test'. After `make install' it should work as `perl Artera.t'
3
4 #########################
5
6 # change 'tests => 1' to 'tests => last_test_to_print';
7 use Test;
8 BEGIN { plan tests => 8  };
9 use Net::Artera;
10 ok(1); # If we made it this far, we're ok.
11
12 #########################
13
14 #$Net::Artera::WARN = 1;
15 #$Net::Artera::DEBUG = 1;
16
17 # Insert your test code below, the Test::More module is use()ed here so read
18 # its man page ( perldoc Test::More ) for help writing this test script.
19
20 # 2
21 my $conn = new Net::Artera ( 'username'   => 'CRMAPITEST@API.COM',
22                              'password'   => 'CRMAPI',
23                              'rid'        => 137044,
24                              'production' => 0,
25                            );
26
27 ok(ref($conn), 'Net::Artera', 'create new Net::Artera object' );
28
29 my $base_param = {
30   'email'   => 'ivan-net-artera-test-'. time. '@example.com',
31   'cname'   => 'Tofu Beast',
32   'ref'     => 420,
33   #'aid'     => 23,
34   'add1'    => '54 Street Rd.',
35   'add3'    => 'Tofu Towers',
36   'add4'    => 'CA',
37   'zip'     => '54321',
38   #'cid'     => 'US',
39 };
40
41 # 3
42 my $param = { %$base_param, 'pid' => 68, 'priceid' => 52, };
43 my $r_newTrial = $conn->newTrial( $param );
44 ok( $r_newTrial->{'id'} == 1 || $r_newTrial->{'message'}, 1,
45     'newTrial method' );
46
47 # 4
48 $param = { %$base_param, 'pid' => 69, 'priceid' => 53, };
49 $param->{$_} = $r_newTrial->{$_} foreach (qw(ASN AKC));
50 my $r_newOrder_convert = $conn->newOrder( $param );
51 ok( $r_newOrder_convert->{'id'} == 1 || $r_newOrder_convert->{'message'}, 1,
52     'newOrder convert method' );
53
54 # 5
55 $param = { %$base_param, 'pid' => 69, 'priceid' => 53, };
56 my $r_newOrder = $conn->newOrder( $param );
57 ok( $r_newOrder->{'id'} == 1 || $r_newOrder->{'message'}, 1,
58     'newOrder method' );
59
60 # 6
61 my $r_statusChange =
62   $conn->statusChange( 'StatusID' => 16,
63                        map { $_ => $r_newOrder->{$_} } qw(ASN AKC)
64                      );
65 ok( $r_statusChange->{'id'} == 1 || $r_statusChange->{'message'}, 1,
66     'statusChange method' );
67
68 # 7
69 my $r_getProductStatus =
70   $conn->getProductStatus( map { $_ => $r_newOrder->{$_} } qw(ASN AKC) );
71 ok( $r_getProductStatus->{'StatusID'} == 16, 1, 'getProductStatus method' );
72
73 # 8
74 my $r_updateContentControl =
75   $conn->updateContentControl( 'UseContentControl' => 1,
76                                map { $_ => $r_newOrder->{$_} } qw(ASN AKC) );
77 ok( $r_getProductStatus->{'id'} == 1, 1, 'getProductStatus method' );
78
79
80 #$param->{'pid'} = 68;
81 #for my $priceid ( 1 .. 100 ) {
82 #  $param->{'priceid'} = $priceid;
83 #  my $r = $conn->newTrial( $param );
84 #  ok( $r->{'id'} != 1, 1 , "newTrial priceid test $priceid" ); 
85 #}
86 #
87 #$param->{'pid'} = 69;
88 #for my $priceid ( 1 .. 100 ) {
89 #  $param->{'priceid'} = $priceid;
90 #  my $r = $conn->newOrder( $param );
91 #  ok( $r->{'id'} != 1, 1 , "newOrder priceid test $priceid" ); 
92 #}
93
94
95
96