X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=t%2FAcquisition%2FInvoice.t;h=aa1172d5549089fb7f6944a1c15f0b5e23ce8b74;hb=f874eec0793f83c3c0f1461fecb878ca57ed701b;hp=a88796505fe87c89b13d1dd97eee0bf7fe9aacb8;hpb=6eeb5180422d9439afb9e783aae70f7c1beb27e7;p=koha_fer diff --git a/t/Acquisition/Invoice.t b/t/Acquisition/Invoice.t index a88796505f..aa1172d554 100755 --- a/t/Acquisition/Invoice.t +++ b/t/Acquisition/Invoice.t @@ -3,11 +3,9 @@ use Modern::Perl; use C4::Context; -use Test::More tests => 47; +use Test::More tests => 50; use Test::MockModule; -use_ok('C4::Acquisition'); - my $module = new Test::MockModule('C4::Context'); $module->mock('_new_dbh', sub { my $dbh = DBI->connect( 'DBI:Mock:', '', '' ) @@ -17,6 +15,8 @@ $module->mock('_new_dbh', sub { my $dbh = C4::Context->dbh; +use_ok('C4::Acquisition'); + # We need to add a resultset to avoid DBI fail # ("DBI bind_columns: invalid number of arguments...") my $rs = [ @@ -42,9 +42,9 @@ my @invoices = C4::Acquisition::GetInvoices( ); my $history = $dbh->{mock_all_history}; -is(scalar(@$history), 1); -my @bound_params = @{ $history->[0]->{bound_params} }; -is(scalar(@bound_params), 15); +ok(scalar(@$history) > 0); +my @bound_params = @{ $history->[-1]->{bound_params} }; +is(scalar(@bound_params), 16); is($bound_params[0], 'supplierid'); is($bound_params[1], '%invoicenumber%'); is($bound_params[2], '%suppliername%'); @@ -59,7 +59,8 @@ is($bound_params[10], 'title'); is($bound_params[11], 'author'); is($bound_params[12], 'publisher'); is($bound_params[13], 'publicationyear'); -is($bound_params[14], 'branchcode'); +is($bound_params[14], 'publicationyear'); +is($bound_params[15], 'branchcode'); $dbh->{mock_clear_history} = 1; $dbh->{mock_add_resultset} = $rs; @@ -129,3 +130,24 @@ is(scalar(@$history), 1); @bound_params = @{ $history->[0]->{bound_params} }; is(scalar(@bound_params), 1); is($bound_params[0], 42); +my $checkordersrs = [ + [qw(COUNT)], + [2] +]; + +$dbh->{mock_add_resultset} = $checkordersrs; +is(DelInvoice(42), undef, "Invoices with items don't get deleted"); + +$checkordersrs = [ + [qw(COUNT)], + [0] +]; + +my $deleters = [ + [qw(COUNT)], + [1] +]; + +$dbh->{mock_add_resultset} = $checkordersrs; +$dbh->{mock_add_resultset} = $deleters; +ok(DelInvoice(42), "Invoices without items do get deleted");