From 065a3a5efa9b90723460a607ac85591c17945b00 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 19 Feb 2014 16:40:06 +0000 Subject: [PATCH] Bug 11779: (follow-up) improve GetLoggedInBranchcode() and add test cases This patch adjusts the new GetLoggedInBranchcode() template function so that it returns the empty string rather than undef if there is no active user environment. That way, there won't be lots of undefined value warnings if/when this function gets used in the OPAC. This patch also adds test cases. To test: [1] Verify that there are no regressions in the main test plan for this bug. [2] Verify that prove -v t/db_dependent/Koha_template_plugin_Branches.t passes. Signed-off-by: Galen Charlton --- Koha/Template/Plugin/Branches.pm | 4 +++- t/db_dependent/Koha_template_plugin_Branches.t | 13 +++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Koha/Template/Plugin/Branches.pm b/Koha/Template/Plugin/Branches.pm index d1801bee9d..ddf5f2f447 100644 --- a/Koha/Template/Plugin/Branches.pm +++ b/Koha/Template/Plugin/Branches.pm @@ -39,7 +39,9 @@ sub GetName { sub GetLoggedInBranchcode { my ($self) = @_; - return C4::Context->userenv->{'branch'} if C4::Context->userenv; + return C4::Context->userenv ? + C4::Context->userenv->{'branch'} : + ''; } 1; diff --git a/t/db_dependent/Koha_template_plugin_Branches.t b/t/db_dependent/Koha_template_plugin_Branches.t index c47c4668f0..6045220759 100644 --- a/t/db_dependent/Koha_template_plugin_Branches.t +++ b/t/db_dependent/Koha_template_plugin_Branches.t @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright 2013 Equinox Software, Inc. +# Copyright 2013-2014 Equinox Software, Inc. # # This file is part of Koha. # @@ -18,8 +18,9 @@ use Modern::Perl; -use Test::More tests => 5; +use Test::More tests => 7; +use C4::Context; BEGIN { use_ok('Koha::Template::Plugin::Branches'); } @@ -35,3 +36,11 @@ is($name, '', 'received empty string as name of the "__ANY__" placeholder librar $name = $plugin->GetName(undef); is($name, '', 'received empty string as name of NULL/undefined library code'); + +my $library = $plugin->GetLoggedInBranchcode(); +is($library, '', 'no active library if there is no active user session'); + +C4::Context->_new_userenv('DUMMY_SESSION_ID'); +C4::Context::set_userenv(123, 'userid', 'usercnum', 'First name', 'Surname', 'MYLIBRARY', 'My Library', 0); +$library = $plugin->GetLoggedInBranchcode(); +is($library, 'MYLIBRARY', 'GetLoggedInBranchcode() returns active library'); -- 2.20.1