From 695d7fd96eccb9a47b2bb44feaf475b65f3db138 Mon Sep 17 00:00:00 2001 From: einhverfr Date: Fri, 21 Nov 2008 20:45:17 +0000 Subject: API tests now mostly work git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@2412 4979c152-3d1c-0410-bac9-87ea11338e46 --- LedgerSMB/DBTest.pm | 18 ++++++++++++++++++ bin/aa.pl | 3 +-- scripts/customer.pl | 4 +++- scripts/employee.pl | 2 +- scripts/inventory.pl | 6 ++---- t/62-api.t | 32 ++++++++++++++++++++++---------- 6 files changed, 47 insertions(+), 18 deletions(-) diff --git a/LedgerSMB/DBTest.pm b/LedgerSMB/DBTest.pm index 915bfc0b..b9eb6ae2 100644 --- a/LedgerSMB/DBTest.pm +++ b/LedgerSMB/DBTest.pm @@ -62,6 +62,14 @@ passes this call on to the private database handle passes this call on to the private database handle +=item quote() + +passes this call on to the private database handle + +=item quote_identifier() + +passes this call on to the private database handle + =item rollback() passes this call on to the private database handle. Note that this will roll @@ -108,6 +116,16 @@ sub errstr{ return $self->{_dbh}->errstr; } +sub quote{ + my $self = shift @_; + return $self->{_dbh}->quote(@_); +} + +sub quote_identifier{ + my $self = shift @_; + return $self->{_dbh}->quote_identifier(@_); +} + sub prepare{ my ($self, $statement) = @_; return $self->{_dbh}->prepare($statement); diff --git a/bin/aa.pl b/bin/aa.pl index e3b869dd..120d986e 100644 --- a/bin/aa.pl +++ b/bin/aa.pl @@ -112,7 +112,7 @@ sub add { $form->{focus} = "amount_1"; &display_form; - + return 1; } sub edit { @@ -948,7 +948,6 @@ sub form_footer { |; - } sub edit_and_approve { diff --git a/scripts/customer.pl b/scripts/customer.pl index 9f2e73a1..0bf05b8f 100644 --- a/scripts/customer.pl +++ b/scripts/customer.pl @@ -23,7 +23,7 @@ package LedgerSMB::Scripts::customer; use LedgerSMB::DBObject::Customer; use base qw(LedgerSMB::ScriptLib::Company); -require 'lsmb-request.pl'; +#require 'lsmb-request.pl'; sub set_entity_class { my ($null, $request) = @_; @@ -35,3 +35,5 @@ sub new_company { my ($null, $request) = @_; return LedgerSMB::DBObject::Customer->new(base=> $request, copy => 'all'); } + +1; diff --git a/scripts/employee.pl b/scripts/employee.pl index 5de34870..b3977961 100644 --- a/scripts/employee.pl +++ b/scripts/employee.pl @@ -23,7 +23,7 @@ package LedgerSMB::Scripts::employee; use LedgerSMB::Template; use LedgerSMB::DBObject::Employee; -require 'lsmb-request.pl'; +#require 'lsmb-request.pl'; =pod diff --git a/scripts/inventory.pl b/scripts/inventory.pl index 04f5388d..8bab9f92 100644 --- a/scripts/inventory.pl +++ b/scripts/inventory.pl @@ -15,13 +15,12 @@ Save customer will update or create as needed. =head1 METHODS =cut - package LedgerSMB::Scripts::customer; use LedgerSMB::Template; use LedgerSMB::DBObject::Customer; -require 'lsmb-request.pl'; +#require 'lsmb-request.pl'; =over @@ -90,7 +89,7 @@ sub adjustment_next { $adjustment->{"partnumber_new_$i"}); $adjustment->{"row_$i"} = $item->{id}; $adjustment->{"description_$i"} = $item->{description}; - $adjustment->{"onhand_$i"} = $item->{onhand}}; + $adjustment->{"onhand_$i"} = $item->{onhand}; } $adjustment->{"qty_$i"} = $adjustment->{"onhand_$i"} - $adjustment->{"counted_$i"}; @@ -116,5 +115,4 @@ sub adjustment_save { $adjustment->save; begin_adjust($request); } - 1; diff --git a/t/62-api.t b/t/62-api.t index a011660e..f05eb072 100644 --- a/t/62-api.t +++ b/t/62-api.t @@ -22,33 +22,45 @@ if (defined $ENV{LSMB_TEST_DB}){ do 't/data/62-request-data'; # Import test case hashes -for (qw( admin.pl drafts.pl login.pl payment.pl +for (qw( drafts.pl login.pl payment.pl report.pl employee.pl menu.pl vendor.pl - customer.pl inventory.pl migration.pl recon.pl - vouchers.pl)){ - - do "$_"; + customer.pl inventory.pl vouchers.pl) + ){ + ok(eval { require "scripts/$_" }, "Importing $_"); + if ($@){ + print STDERR "Error: $@\n"; + } } # Import new code namespaces my $dbh = LedgerSMB::DBTest->connect("dbi:Pg:dbname=$ENV{PGDATABASE}", undef, undef); -print scalar @$test_request_data ." test case scenarios defined"; - for my $test (@$test_request_data){ if (lc $test->{_codebase} eq 'old'){ + next; # skip old codebase tests for now old_code_test::_load_script($test->{module}); - $old_code_test::form = new Form(); + my $qtring = "$test->{module}?"; + for $key (keys(%$test)){ + if ($key !~ /^_/){ + $qstring .= qq|$key=$test->{"$key"}&|; + } + } + $qstring =~ s/&$//; + $old_code_test::form = Form->new($qstring); for (keys (%$test)){ $form->{$_} = $test->{$_}; } - ok(eval ("old_code_test::$test->{action}()"), + is('old_code_test'->can($test->{action}), 0, "$test->{_test_id}: Action Successful"); } else { my $request = LedgerSMB->new(); $request->merge($test); my $script = $test->{module}; + $request->{dbh} = $dbh; $script =~ s/\.pl$//; - ok(eval "LedgerSMB::Scripts::$script::$request->{action}(\$request)"); + is(ref "LedgerSMB::Scripts::$script"->can($request->{action}), + 'CODE', + "$test->{_test_id}: Action ($request->{action}) Defined"); + ok("LedgerSMB::Scripts::$script"->can($request->{action})->($request), "$test->{_test_id}: Action Successful"); } for (@{$api_test_cases->{"$test->{_test_id}"}}){ &$_; -- cgit v1.2.3