From badb80985e5169e2f1a8aa4d88ee8c2d05818e9e Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Fri, 27 Jan 2012 15:59:36 +0100 Subject: [PATCH] Bug 6137: unit tests for C4::Circulation::_GetCircControlBranch --- t/Circulation.t | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 110 insertions(+), 0 deletions(-) create mode 100755 t/Circulation.t diff --git a/t/Circulation.t b/t/Circulation.t new file mode 100755 index 0000000..8fab844 --- /dev/null +++ b/t/Circulation.t @@ -0,0 +1,110 @@ +#!/usr/bin/perl + +use Test::More tests => 15; + +BEGIN { + use_ok('C4::Circulation'); +} + +my $CircControl = C4::Context->preference('CircControl'); +my $HomeOrHoldingBranch = C4::Context->preference('HomeOrHoldingBranch'); + +my $item = { + homebranch => 'ItemHomeBranch', + holdingbranch => 'ItemHoldingBranch' +}; + +my $borrower = { + branchcode => 'BorrowerBranch' +}; + +# No userenv, PickupLibrary +C4::Context->set_preference('CircControl', 'PickupLibrary'); +is( + C4::Context->preference('CircControl'), + 'PickupLibrary', + 'CircControl changed to PickupLibrary' +); +is( + C4::Circulation::_GetCircControlBranch($item, $borrower), + $item->{$HomeOrHoldingBranch}, + '_GetCircControlBranch returned item branch (no userenv defined)' +); + +# No userenv, PatronLibrary +C4::Context->set_preference('CircControl', 'PatronLibrary'); +is( + C4::Context->preference('CircControl'), + 'PatronLibrary', + 'CircControl changed to PatronLibrary' +); +is( + C4::Circulation::_GetCircControlBranch($item, $borrower), + $borrower->{branchcode}, + '_GetCircControlBranch returned borrower branch' +); + +# No userenv, ItemHomeLibrary +C4::Context->set_preference('CircControl', 'ItemHomeLibrary'); +is( + C4::Context->preference('CircControl'), + 'ItemHomeLibrary', + 'CircControl changed to ItemHomeLibrary' +); +is( + $item->{$HomeOrHoldingBranch}, + C4::Circulation::_GetCircControlBranch($item, $borrower), + '_GetCircControlBranch returned item branch' +); + +diag('Now, set a userenv'); +C4::Context->_new_userenv('xxx'); +C4::Context::set_userenv(0,0,0,'firstname','surname', 'CurrentBranch', 'CurrentBranchName', '', '', ''); +is(C4::Context->userenv->{branch}, 'CurrentBranch', 'userenv set'); + +# Userenv set, PickupLibrary +C4::Context->set_preference('CircControl', 'PickupLibrary'); +is( + C4::Context->preference('CircControl'), + 'PickupLibrary', + 'CircControl changed to PickupLibrary' +); +is( + C4::Circulation::_GetCircControlBranch($item, $borrower), + 'CurrentBranch', + '_GetCircControlBranch returned current branch' +); + +# Userenv set, PatronLibrary +C4::Context->set_preference('CircControl', 'PatronLibrary'); +is( + C4::Context->preference('CircControl'), + 'PatronLibrary', + 'CircControl changed to PatronLibrary' +); +is( + C4::Circulation::_GetCircControlBranch($item, $borrower), + $borrower->{branchcode}, + '_GetCircControlBranch returned borrower branch' +); + +# Userenv set, ItemHomeLibrary +C4::Context->set_preference('CircControl', 'ItemHomeLibrary'); +is( + C4::Context->preference('CircControl'), + 'ItemHomeLibrary', + 'CircControl changed to ItemHomeLibrary' +); +is( + C4::Circulation::_GetCircControlBranch($item, $borrower), + $item->{$HomeOrHoldingBranch}, + '_GetCircControlBranch returned item branch' +); + +# Reset initial configuration +C4::Context->set_preference('CircControl', $CircControl); +is( + C4::Context->preference('CircControl'), + $CircControl, + 'CircControl reset to its initial value' +); -- 1.7.8.3