summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2008-11-15 23:57:07 +0000
committereinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2008-11-15 23:57:07 +0000
commitff686b3e857fc34aabf2bb4d444b851df803352c (patch)
tree37f16b8e9d7e444c6e2c7d4b1c530252a95763b6
parent4548566ebb520679c2b7d9c5e2d786d3b0ea3c98 (diff)
Test case additions, and a few corrections
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@2401 4979c152-3d1c-0410-bac9-87ea11338e46
-rw-r--r--sql/modules/test/Voucher.sql18
-rw-r--r--t/42-dbobject.t17
-rw-r--r--t/43-dbtest.t24
3 files changed, 46 insertions, 13 deletions
diff --git a/sql/modules/test/Voucher.sql b/sql/modules/test/Voucher.sql
index f5dd0a95..d749bf09 100644
--- a/sql/modules/test/Voucher.sql
+++ b/sql/modules/test/Voucher.sql
@@ -6,30 +6,30 @@ SELECT 'Batch Created',
batch_create('_TEST', '_TEST', 'payment', '2008-01-01') IS NOT NULL;
INSERT INTO entity (id, name, entity_class, control_code)
-values (-2, 'Test', 1, 'test');
+values (-3, 'Test', 1, 'test');
INSERT INTO entity_credit_account (entity_id, id, meta_number, entity_class)
-values (-2, -1, 'Test', 1);
+values (-3, -1, 'Test', 1);
INSERT INTO chart (id, accno, description, link)
-VALUES ('-1', '-21111', 'Testing AP', 'AP');
+VALUES ('-5', '-21111', 'Testing AP', 'AP');
INSERT INTO ap (id, invnumber, amount, curr, approved, entity_credit_account)
-VALUES (-1, 'test1', '1000', 'USD', false, -1);
+VALUES (-5, 'test1', '1000', 'USD', false, -1);
INSERT INTO acc_trans(trans_id, chart_id, amount, approved)
-values (-1, -1, 1000, true);
+values (-5, -5, 1000, true);
INSERT INTO voucher (trans_id, batch_id, batch_class)
-values (-1, currval('batch_id_seq'), 1);
+values (-5, currval('batch_id_seq'), 1);
INSERT INTO voucher (trans_id, batch_id, batch_class)
-values (-1, currval('batch_id_seq'), 3);
+values (-5, currval('batch_id_seq'), 3);
INSERT INTO voucher (trans_id, batch_id, batch_class)
-values (-1, currval('batch_id_seq'), 3);
+values (-5, currval('batch_id_seq'), 3);
INSERT INTO test_result (test_name, success)
SELECT 'partial payment support', count(*) > 1
-FROM voucher where trans_id = -1 and batch_class = 3;
+FROM voucher where trans_id = -5 and batch_class = 3;
SELECT * FROM test_result;
diff --git a/t/42-dbobject.t b/t/42-dbobject.t
index 65cbbb1c..ccb94bc9 100644
--- a/t/42-dbobject.t
+++ b/t/42-dbobject.t
@@ -1,5 +1,5 @@
use LedgerSMB::DBObject;
-use Test::More tests => 5;
+use Test::More tests => 20;
# Array parsing tests
my $test = '{test,"test2\"\",",test3,"test4"}';
@@ -9,7 +9,16 @@ for (LedgerSMB::DBObject->_parse_array($test)){
is($_, shift @vals, "pass $pass, array parse test");
}
-my $test2 = '{{1,1,1,1},{1,2,2,2}}';
-
+my $test2 = '{{1,1,1,1},{1,2,2,2},{1,3,3,4}}';
+my @test_arry2_c = ( [1,1,1,1], [1,2,2,2], [1,3,3,4]);
my @test_arry2 = LedgerSMB::DBObject->_parse_array($test2);
-is(scalar @test_arry2, 2, 'Compount array with proper element count');
+is(scalar @test_arry2, 3, 'Compount array with proper element count');
+is(scalar @{$test_arry2[0]}, 4, 'Subarray 1 has correct element count');
+is(scalar @{$test_arry2[1]}, 4, 'Subarray 2 has correct element count');
+is(scalar @{$test_arry2[2]}, 4, 'Subarray 3 has correct element count');
+for my $outer(0 .. 2){
+ for my $inner(0 .. 3) {
+ is ($test_arry2[$outer]->[$inner], $test_arry2_c[$outer]->[$inner],
+ "Compound array $outer/$inner correct");
+ }
+}
diff --git a/t/43-dbtest.t b/t/43-dbtest.t
new file mode 100644
index 00000000..d19ab215
--- /dev/null
+++ b/t/43-dbtest.t
@@ -0,0 +1,24 @@
+use Test::More;
+use strict;
+
+if (!defined $ENV{PGDATABASE}){
+ plan skip_all => 'PGDATABASE Environment Variable not set up';
+}
+else {
+ plan tests => 50;
+}
+
+my @testscripts = qw(Account Business_type Company Draft Payment
+ Session Voucher);
+
+chdir 'sql/modules/test/';
+
+for my $testscript (@testscripts){
+ open (TEST, '-|', "psql -f $testscript.sql");
+ my @testlines = grep /\|\s+(t|f)\s?$/, <TEST>;
+ cmp_ok(scalar @testlines, '>', 0, "$testscript.sql returned test results");
+ for my $test (@testlines){
+ my @parts = split /\|/, $test;
+ like($parts[1], qr/t/, $parts[0]);
+ }
+}