summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authoreinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2008-10-10 18:25:24 +0000
committereinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2008-10-10 18:25:24 +0000
commit7f05e02bbebe6777e0389d2bec943e2bf376031a (patch)
tree21f4d4e399bdee92337168b8cf002019cb147772 /sql
parent2351a30612a560c47232104d9cd46326319acca1 (diff)
More unit tests for stored procs
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@2363 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'sql')
-rw-r--r--sql/modules/test/Account.sql122
-rw-r--r--sql/modules/test/Business_type.sql17
-rw-r--r--sql/modules/test/admin.sql13
3 files changed, 152 insertions, 0 deletions
diff --git a/sql/modules/test/Account.sql b/sql/modules/test/Account.sql
new file mode 100644
index 00000000..d2f1545d
--- /dev/null
+++ b/sql/modules/test/Account.sql
@@ -0,0 +1,122 @@
+BEGIN;
+\i Base.sql
+
+
+INSERT INTO chart (description, charttype, category, accno)
+VALUES ('TEST testing 1', 'A', 'A', '00001');
+
+INSERT INTO chart (description, charttype, category, accno)
+VALUES ('TEST testing 2', 'A', 'A', '00002');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP 1', 'A', 'L', '00003', 'AP');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP 2', 'A', 'L', '00004', 'AP');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AR 1', 'A', 'A', '00005', 'AR');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AR 2', 'A', 'A', '00006', 'AR');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AR PAID 1', 'A', 'A', '00007', 'AR_paid');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AR PAID 2', 'A', 'A', '00008', 'AR_paid1');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AR PAID 3', 'A', 'A', '00009', 'IC_tax:AR_paid');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AR PAID 4 INVALID', 'A', 'A', '00010', 'AR_p');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP PAID 1', 'A', 'A', '00011', 'AP_paid');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP PAID 2', 'A', 'A', '00012', 'AP_paid1');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP PAID 3', 'A', 'A', '00013', 'IC_tax:AP_paid');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP PAID 4 INVALID', 'A', 'A', '00014', 'AP_p');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP Overpayment 1', 'A', 'A', '00015', 'AP_overpayment');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP Overpayment 2', 'A', 'A', '00016', 'AP_overpayment1');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP Overpayment 3', 'A', 'A', '00017', 'IC_tax:AP_overpayment');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP Overpayment 4 INVALID', 'A', 'A', '00018', 'AP_overp');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP Overpayment 1', 'A', 'A', '00019', 'AR_overpayment');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP Overpayment 2', 'A', 'A', '00020', 'AR_overpayment1');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP Overpayment 3', 'A', 'A', '00021', 'IC_tax:AR_overpayment');
+
+INSERT INTO chart (description, charttype, category, accno, link)
+VALUES ('TEST AP Overpayment 4 INVALID', 'A', 'A', '00022', 'AR_overp');
+
+INSERT INTO test_result(test_name, success)
+VALUES ('Accounts created', currval('chart_id_seq') is not null);
+
+INSERT INTO ap (invnumber, netamount, amount) VALUES ('TEST', '0', '0');
+INSERT INTO acc_trans (trans_id, chart_id, amount)
+VALUES (currval('id')::int, currval('chart_id_seq')::int, '0');
+
+INSERT INTO test_result(test_name, success)
+VALUES ('Chart 1 is orphaned', account_is_orphaned((select id from chart where description = 'TEST testing 1')));
+
+INSERT INTO test_result(test_name, success)
+VALUES ('Chart 2 is not orphaned', account_is_orphaned(currval('chart_id_seq')::int) is false);
+
+INSERT INTO test_result(test_name, success)
+SELECT 'All Test Accounts Exist', count(*) = 22 FROM chart_list_all()
+where accno like '0%' AND description LIKE 'TEST%';
+
+INSERT INTO test_result(test_name, success)
+SELECT 'List AR Cash Test Accounts', count(*) = 3 FROM chart_list_cash(2)
+where accno like '0%' AND description LIKE 'TEST%';
+
+INSERT INTO test_result(test_name, success)
+SELECT 'List AP Cash Test Accounts', count(*) = 3 FROM chart_list_cash(1)
+where accno like '0%' AND description LIKE 'TEST%';
+
+INSERT INTO test_result(test_name, success)
+SELECT 'List AP Overpayment Accts', count(*) = 3 FROM chart_list_overpayment(1)
+where accno like '0%' AND description LIKE 'TEST%';
+
+INSERT INTO test_result(test_name, success)
+SELECT 'List AR Overpayment Accts', count(*) = 3 FROM chart_list_overpayment(2)
+where accno like '0%' AND description LIKE 'TEST%';
+
+INSERT INTO test_result(test_name, success)
+SELECT 'Test AP Accounts Are Found', count(*) = 2 FROM chart_get_ar_ap(1)
+where accno like '0%' AND description LIKE 'TEST%';
+
+INSERT INTO test_result(test_name, success)
+SELECT 'Test AR Accounts Are Found', count(*) = 2 FROM chart_get_ar_ap(2)
+where accno like '0%' AND description LIKE 'TEST%';
+
+SELECT * FROM test_result;
+
+SELECT (select count(*) from test_result where success is true)
+|| ' tests passed and '
+|| (select count(*) from test_result where success is not true)
+|| ' failed' as message;
+
+\echo This currently fails 2 tests due to some confusion as to
+\echo account_is_orphaned is supposed to do.
+
+ROLLBACK;
diff --git a/sql/modules/test/Business_type.sql b/sql/modules/test/Business_type.sql
new file mode 100644
index 00000000..461537a3
--- /dev/null
+++ b/sql/modules/test/Business_type.sql
@@ -0,0 +1,17 @@
+BEGIN;
+\i Base.sql
+
+INSERT INTO business (description) values ('testing');
+
+INSERT INTO test_result (test_name, success)
+SELECT 'Business Class Inserted', count(*) > 0 from business_type__list()
+WHERE description = 'testing';
+
+SELECT * FROM test_result;
+
+SELECT (select count(*) from test_result where success is true)
+|| ' tests passed and '
+|| (select count(*) from test_result where success is not true)
+|| ' failed' as message;
+
+ROLLBACK;
diff --git a/sql/modules/test/admin.sql b/sql/modules/test/admin.sql
new file mode 100644
index 00000000..0b8eb1b2
--- /dev/null
+++ b/sql/modules/test/admin.sql
@@ -0,0 +1,13 @@
+BEGIN;
+\i Base.sql
+
+\echo no tests yet!
+
+SELECT * FROM test_result;
+
+SELECT (select count(*) from test_result where success is true)
+|| ' tests passed and '
+|| (select count(*) from test_result where success is not true)
+|| ' failed' as message;
+
+ROLLBACK;