summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--t/62-api.t6
-rw-r--r--t/data/62-request-data72
2 files changed, 67 insertions, 11 deletions
diff --git a/t/62-api.t b/t/62-api.t
index 740a1fcb..3357a8ba 100644
--- a/t/62-api.t
+++ b/t/62-api.t
@@ -2,6 +2,7 @@ BEGIN {
use LedgerSMB;
use Test::More;
use LedgerSMB::Template;
+ use LedgerSMB::Sysconfig;
use LedgerSMB::DBTest;
}
@@ -31,6 +32,7 @@ for (qw( drafts.pl login.pl payment.pl
} # Import new code namespaces
my $dbh = LedgerSMB::DBTest->connect("dbi:Pg:dbname=$ENV{PGDATABASE}", undef, undef);
+my $locale = LedgerSMB::Locale->get_handle( ${LedgerSMB::Sysconfig::language} );
for my $test (@$test_request_data){
if (lc $test->{_codebase} eq 'old'){
@@ -52,6 +54,7 @@ for my $test (@$test_request_data){
} else {
my $request = LedgerSMB->new();
$request->merge($test);
+ $request->{_locale} = $locale;
my $script = $test->{module};
$request->{dbh} = $dbh;
if (ref $api_test_cases->{"$test->{_test_id}"} eq 'CODE'){
@@ -83,6 +86,9 @@ sub render {
return 1;
}
+sub _http_output {
+ return 1;
+}
package old_code_test;
# Keeps old code isolated in a different namespace, and provides for reasonable
# reload facilities.
diff --git a/t/data/62-request-data b/t/data/62-request-data
index e3c6108b..2cf45212 100644
--- a/t/data/62-request-data
+++ b/t/data/62-request-data
@@ -49,17 +49,50 @@ our $test_request_data = [
'batch_type' => 'gl',
'module' => 'vouchers.pl',
},
-# {
-# '_test_id' => 'Payment print total',
-# '_codebase' => 'new',
-# 'action' => 'print',
-# 'module' => 'payment.pl',
-# 'account_class' => 1,
-# 'currency' => 'USD',
-# 'multiple' => 1,
-# 'format' =>
-#
-# },
+ {
+ '_test_id' => 'Payment print total',
+ '_codebase' => 'new',
+ 'action' => 'print',
+ 'approved' => 0,
+ 'currency' => 'USD',
+ 'datepaid' => '2008-07-22',
+ 'contact_1' => '25',
+ 'id_25' => '25',
+ 'paid_25' => 'all',
+ 'payment_209' => '1000.00',
+ 'invoice_25_1' => 209,
+ 'net_209' => '1000.00',
+ 'payment_210' => '-100.00',
+ 'invoice_25_2' => '210',
+ 'net_210' => '-100.00',
+ 'payment_344' => '100000.00',
+ 'invoice_25_3' => '344',
+ 'net_344' => '100000.00',
+ 'payment_352' => '1000.00',
+ 'invoice_25_4' => '352',
+ 'net_352' => '1000.00',
+ 'payment_353' => '1000.00',
+ 'invoice_25_5' => '353',
+ 'net_353' => '1000.00',
+ 'payment_354' => '1000.00',
+ 'invoice_25_6' => '354',
+ 'net_354' => '1000.00',
+ 'payment_355' => '1000.00',
+ 'invoice_25_7' => '355',
+ 'net_355' => '1000.00',
+ 'payment_356' => '1000.00',
+ 'invoice_25_8' => '356',
+ 'net_356' => '1000.00',
+ 'invoice_count_25' => 8,
+ 'contact_count' => 1,
+ 'media' => 'screen',
+ 'format' => 'PDF',
+ 'module' => 'payment.pl',
+ 'account_class' => 1,
+ 'currency' => 'USD',
+ 'multiple' => 1,
+
+ },
];
our $pre_test_subs = {};
@@ -84,6 +117,23 @@ our $api_test_cases = {
my $request = shift;
ok($request->{batch_number}, 'Batch Number is Defined');
},
+ 'Payment print total' => sub {
+ use strict;
+ my $request = shift;
+ $request->debug({file => '/tmp/check' });
+ cmp_ok(scalar @{$request->{checks}}, '==',
+ $request->{contact_count},
+ 'Correct number of checks printed');
+ my $check = shift @{$request->{checks}};
+ cmp_ok(
+ $request->format_amount({
+ amount => $check->{amount},
+ format => '1000.00',
+ precision => 2
+ }), 'eq', '105900.00',
+ 'Printed amount is correct'
+ );
+ }
};
opendir (D62, 't/data/62.d');