From 0bf498c5951cf840144e9c0015ab71576c2fe295 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Tue, 12 Apr 2016 13:54:13 +0200 Subject: [PATCH] Bug 16246: Add tests for ILS-DI GetRecords --- t/db_dependent/ILSDI_Services.t | 60 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/ILSDI_Services.t b/t/db_dependent/ILSDI_Services.t index 88e8181d04..5078b961a4 100644 --- a/t/db_dependent/ILSDI_Services.t +++ b/t/db_dependent/ILSDI_Services.t @@ -17,9 +17,13 @@ use Modern::Perl; +use C4::Biblio qw( AddBiblio ); +use C4::Items qw( AddItem ); +use C4::Reserves qw( AddReserve GetReserve ); use CGI qw ( -utf8 ); +use MARC::Record; -use Test::More tests => 3; +use Test::More tests => 4; use Test::MockModule; use t::lib::Mocks; use t::lib::TestBuilder; @@ -198,4 +202,58 @@ subtest 'GetPatronInfo/GetBorrowerAttributes test for extended patron attributes $schema->storage->txn_rollback; }; + +subtest 'GetRecords' => sub { + + plan tests => 1; + + $schema->storage->txn_begin; + + t::lib::Mocks::mock_preference('ILS-DI', 1); + + my $builder = t::lib::TestBuilder->new; + + my $branch = $builder->build({ + source => 'Branch', + value => { + branchcode => 'T_ILSDI', + } + }); + + my $category = $builder->build({ + source => 'Category', + value => { + category_type => 'A', + } + }); + + # Create a new user: + my $borrower = $builder->build({ + source => 'Borrower', + value => { + categorycode => $category->{categorycode}, + branchcode => $branch->{branchcode}, + } + }); + + my ($biblionumber) = AddBiblio(MARC::Record->new, ''); + my $item = {}; + my $itemnumber = AddItem($item, $biblionumber); + + my $reserve_id = AddReserve($branch, $borrower->{borrowernumber}, $biblionumber); + + # Prepare and send web request for IL-SDI server: + my $query = new CGI; + $query->param( 'service', 'GetRecords' ); + $query->param( 'id', $biblionumber ); + + my $response = C4::ILSDI::Services::GetRecords( $query ); + + my $reserve = GetReserve($reserve_id); + $reserve->{rtimestamp} = $reserve->{timestamp}; + + is_deeply( $response->{record}->[0]->{reserves}->{reserve}, [ $reserve ], + 'GetRecords /record/reserves/reserve is as expected' ); +}; + 1; -- 2.11.0