From ef2359885588fc1a3ad54a1a35ff9d47c0b0c4d2 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 16 Jan 2020 15:58:15 -0300 Subject: [PATCH] Bug 24440: Unit tests Signed-off-by: Tomas Cohen Arazi --- t/db_dependent/Koha/Acquisition/Order.t | 43 ++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Koha/Acquisition/Order.t b/t/db_dependent/Koha/Acquisition/Order.t index 3b7b68a533..8d5d807910 100644 --- a/t/db_dependent/Koha/Acquisition/Order.t +++ b/t/db_dependent/Koha/Acquisition/Order.t @@ -19,7 +19,7 @@ use Modern::Perl; -use Test::More tests => 6; +use Test::More tests => 7; use t::lib::TestBuilder; use t::lib::Mocks; @@ -250,3 +250,44 @@ subtest 'duplicate_to | add_item' => sub { $schema->storage->txn_rollback; }; + +subtest 'holds() and holds_count() tests' => sub { + + plan tests => 8; + + $schema->storage->txn_begin; + + my $biblio = $builder->build_sample_biblio; + my $order = $builder->build_object( + { + class => 'Koha::Acquisition::Orders', + value => { biblionumber => $biblio->biblionumber } + } + ); + + my $item_1 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber }); + my $item_2 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber }); + + # Associate items to the order + $order->add_item( $item_1->itemnumber ); + $order->add_item( $item_2->itemnumber ); + + my $holds = $order->holds; + my @holds = $order->holds; + is( ref($holds), 'Koha::Holds', 'Type is correct in scalar context' ); + is( scalar @holds, 0, 'Count is correct list context' ); + is( $holds->count, 0, 'No holds' ); + is( $order->holds_count, 0, 'holds_count is consistent' ); + + # Add a hold + $builder->build_object({ class => 'Koha::Holds', value => { itemnumber => $item_1->itemnumber } }); + + $holds = $order->holds; + @holds = $order->holds; + is( scalar @holds, 1, 'Count is correct list context' ); + is( $holds->count, 1, 'Count is correct in scalar context' ); + is( $order->holds_count, 1, 'holds_count is consistent' ); + is( ref($holds[0]), 'Koha::Hold', 'Type is correct for individual holds in list context' ); + + $schema->storage->txn_rollback; +}; -- 2.25.0