From 7c5f5f3f2b5ff0ee12f6cf5e38bafe40752da0e5 Mon Sep 17 00:00:00 2001 From: Bouzid Fergani Date: Fri, 16 Dec 2016 10:44:46 -0500 Subject: [PATCH] Bug 17674 - Add unit tests https://bugs.koha-community.org/show_bug.cgi?id=17674 Signed-off-by: Sonia BOUIS --- t/db_dependent/Serials.t | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Serials.t b/t/db_dependent/Serials.t index dc6edd3..f8b288d 100755 --- a/t/db_dependent/Serials.t +++ b/t/db_dependent/Serials.t @@ -17,12 +17,14 @@ use C4::Items; use Koha::DateUtils; use Koha::Acquisition::Booksellers; use t::lib::Mocks; -use Test::More tests => 49; +use t::lib::TestBuilder; +use Test::More tests => 50; BEGIN { use_ok('C4::Serials'); } +my $builder = t::lib::TestBuilder->new; my $dbh = C4::Context->dbh; # Start transaction @@ -334,6 +336,50 @@ subtest "Do not generate an expected if one already exists" => sub { is( @serialsByStatus, 1, "ModSerialStatus delete corectly serial expected and not create another if exists" ); }; +subtest "Test GetSerialItemsInformations " => sub { + plan tests => 4; + is (C4::Serials::GetSerialItemsInformations(),0,"test GetSerialItemsInformation with nothing parameters "); + my $branchcode = $builder->build({ source => 'Branch' })->{ branchcode }; + my $itemtype = $builder->build({ source => 'Itemtype' })->{ itemtype }; + my %item_infos = ( + homebranch => $branchcode, + holdingbranch => $branchcode, + itype => $itemtype + ); + my $biblionumber1 = AddBiblio(MARC::Record->new, ''); + my $itemnumber1 = AddItem({ barcode => '0101', %item_infos }, $biblionumber1); + my $itemnumber2 = AddItem({ barcode => '0102', %item_infos }, $biblionumber1); + my $itemnumber3 = AddItem({ barcode => '0103', %item_infos }, $biblionumber1); + my $itemnumber4 = AddItem({ barcode => '0104', %item_infos }, $biblionumber1); + my @serialid = ($serials[0]->{serialid},$serials[1]->{serialid}); + is (C4::Serials::GetSerialItemsInformations(@serialid),0,"test GetSerialItemsInformation with array of serialid and none have items"); + subtest "Test with 2 serials and each have one item" => sub { + plan tests => 5; + AddItem2Serial($serialid[0],$itemnumber1); + my @result = C4::Serials::GetSerialItemsInformations(@serialid); + is (scalar @result, 1 , "GetSerialItemsInformation return right length of array using 1 serial with 1 item"); + is (@result[0]->{countitems}, 1 , "GetSerialItemsInformation return right number items of serial1"); + AddItem2Serial($serialid[1],$itemnumber3); + @result = C4::Serials::GetSerialItemsInformations(@serialid); + is (scalar @result, 2 , "GetSerialItemsInformation return right length of array using 2 serials and each have 1 item"); + is (@result[0]->{countitems}, 1 , "GetSerialItemsInformation return right number items of serial1"); + is (@result[1]->{countitems}, 1 , "GetSerialItemsInformation return right number items of serial2"); + }; + subtest "Test with 2 serials and each have 2 items" => sub { + plan tests => 6; + AddItem2Serial($serialid[0],$itemnumber2); + my @result = C4::Serials::GetSerialItemsInformations(@serialid); + is (scalar @result, 2 , "GetSerialItemsInformation return right length of array using 2 serials "); + is (@result[0]->{countitems}, 2 , "GetSerialItemsInformation return right number items of serial1"); + is (@result[1]->{countitems}, 1 , "GetSerialItemsInformation return right number items of serial2"); + AddItem2Serial($serialid[1],$itemnumber4); + @result = C4::Serials::GetSerialItemsInformations(@serialid); + is (scalar @result, 2 , "GetSerialItemsInformation return right length of array using 2 serials and each have 2 items "); + is (@result[0]->{countitems}, 2 , "GetSerialItemsInformation return right number items of serial1"); + is (@result[1]->{countitems}, 2 , "GetSerialItemsInformation return right number items of serial2"); + }; +}; + $dbh->rollback; sub get_biblio { -- 2.7.4