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 ) = @_;
}
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 ) = @_;
});
}
+=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 ) = @_;