@ -1,11 +1,46 @@
package t::lib::Mocks ;
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl ;
use C4::Context ;
use Test::MockModule ;
use Test::MockObject ;
= head1 NAME
t::lib:: Mocks - A library to mock things for testing
= head1 API
= head2 Methods
= cut
my % configs ;
= head3 mock_config
t::lib::Mocks:: mock_config ( $ config_entry , $ value ) ;
Mock the configuration I <$config_entry> with the specified I <$value> .
= cut
sub mock_config {
my $ context = Test::MockModule - > new ( 'C4::Context' ) ;
my ( $ conf , $ value ) = @ _ ;
@ -22,6 +57,15 @@ sub mock_config {
}
my % preferences ;
= head3 mock_preference
t::lib::Mocks:: mock_preference ( $ preference , $ value ) ;
Mock the I <$preference> with the specified I <value> .
= cut
sub mock_preference {
my ( $ pref , $ value ) = @ _ ;
@ -40,6 +84,34 @@ sub mock_preference {
} ) ;
}
= head3 mock_userenv
t::lib::Mocks:: mock_userenv (
{
[ patron = > $ patron ,
borrowernumber = > $ borrowernumber ,
userid = > $ userid ,
cardnumber = > $ cardnumber ,
firstname = > $ firstname ,
surname = > $ surname ,
branchcode = > $ branchcode ,
branchname = > $ branchname ,
flags = > $ flags ,
emailaddress = > $ emailaddress ,
desk_id = > $ desk_id ,
desk_name = > $ desk_name ,
register_id = > $ register_id ,
register_name = > $ register_name , ]
}
) ;
Mock userenv in the context of tests . A I <patron> param is usually expected , but
some other session attributes might be passed as well , that will override the patron ' s .
Also , some sane defaults are set if no parameters are passed .
= cut
sub mock_userenv {
my ( $ params ) = @ _ ;