Beginnings of OptionFields tester.

I've noticed that the PII_Options field doesn't seem to properly contain
the values it should.  This is the beginning of a test file for what
PII_Options should contain.

The initial step here is to simply create one of my forms to create a
test transaction, and verify that the transaction has been created.
This commit is contained in:
Bradley M. Kuhn 2015-01-01 18:19:24 -05:00
parent 840f87e4e6
commit 9b8464291c
2 changed files with 77 additions and 0 deletions

1
.gitignore vendored
View file

@ -4,3 +4,4 @@ auth.txt
blib blib
perltidy.LOG perltidy.LOG
pm_to_blib pm_to_blib
options-payment.html

76
t/OptionFields.t Normal file
View file

@ -0,0 +1,76 @@
# This file is part of Business:PayPal:API Module. License: Same as Perl. See its README for details.
# -*- mode: cperl -*-
use Test::More;
use strict;
if ( !$ENV{WPP_TEST} || !-f $ENV{WPP_TEST} ) {
plan skip_all =>
'No WPP_TEST env var set. Please see README to run tests';
}
else {
plan tests => 4;
}
use_ok( 'Business::PayPal::API::TransactionSearch' );
use_ok( 'Business::PayPal::API::GetTransactionDetails' );
#########################
require 't/API.pl';
my %args = do_args();
=pod
These tests verify the options work.
=cut
open(OPTIONS_PAY_HTML, ">", "options-payment.html")
or die "unable to open options-payment.html: $!";
print OPTIONS_PAY_HTML <<_OPTIONS_PAYMENT_DATA_
<html>
<body>
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="$args{SellerEmail}" />
<input type="hidden" name="item_name" value="Field Options Tester" />
<input id="no_shipping" type="hidden" name="no_shipping" value="0" />
<input id="amount" type="text" name="amount" size="7" minimum="120" value="120" />
<input type="hidden" name="on1" value="firstOption" />
<input type="hidden" name="os1" value="Yes" />
<input type="hidden" name="on2" value="size"/>
<input name="os2" id="os2" value="Large"/>
<input type="image" border="0" name="submit" alt="Submit Field Tester with $120 payment">
</form></body></html>
_OPTIONS_PAYMENT_DATA_
;
close(OPTIONS_PAY_HTML); die "unable to write options-payment.html: $!" if ($? != 0);
use Cwd; my $cwd = getcwd;
print STDERR <<"_OPTIONS_LINK_";
Please note the next series of tests will not succeeed unless there is at
least one transaction that is part of a subscription payments in your business
account.
if you haven't made one yet, you can visit:
file://$cwd/options-payment.html
and use the sandbox buyer account to make the payment.
_OPTIONS_LINK_
my $startdate = '1998-01-01T01:45:10.00Z';
my $ts = new Business::PayPal::API::TransactionSearch( %args );
my $td = new Business::PayPal::API::GetTransactionDetails( %args );
my $resp = $ts->TransactionSearch(StartDate => $startdate);
my %detail;
foreach my $record (@{$resp}) {
%detail = $td->GetTransactionDetails(TransactionID => $record->{TransactionID});
last if $detail{PII_Name} =~ /Field\s+Options/i;
}
like($detail{PaymentItems}[0]{Name}, qr/Field\s+Options/i, 'Found field options test transaction');
like($detail{PII_Name}, qr/Field\s+Options/i, 'Found field options test transaction');