Bug 14097: Testing C4::UsageStats
[koha.git] / t / db_dependent / UsageStats.t
1 # Copyright 2015 BibLibre
2 #
3 # This file is part of Koha.
4 #
5 # Koha is free software; you can redistribute it and/or modify it under the
6 # terms of the GNU General Public License as published by the Free Software
7 # Foundation; either version 3 of the License, or (at your option) any later
8 # version.
9 #
10 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License along
15 # with Koha; if not, see <http://www.gnu.org/licenses>.
16
17 use Modern::Perl;
18 use Test::More tests => 552;
19 use t::lib::Mocks qw(mock_preference);
20 use POSIX qw(strftime);
21 use Data::Dumper;
22
23 BEGIN {
24     use_ok('C4::UsageStats');
25     use_ok('C4::Context');
26     use_ok('C4::Biblio');
27     use_ok( 'C4::AuthoritiesMarc', qw(AddAuthority) );
28     use_ok('C4::Reserves');
29     use_ok('MARC::Record');
30     use_ok('Koha::Acquisition::Order');
31     use_ok('t::lib::TestBuilder');
32 }
33
34 can_ok(
35     'C4::UsageStats', qw(
36       NeedUpdate
37       BuildReport
38       ReportToCommunity
39       _count )
40 );
41
42 my $dbh = C4::Context->dbh;
43 $dbh->{AutoCommit} = 0;
44 $dbh->{RaiseError} = 1;
45 $dbh->do('DELETE FROM biblio');
46 $dbh->do('DELETE FROM items');
47 $dbh->do('DELETE FROM auth_header');
48 $dbh->do('DELETE FROM old_issues');
49 $dbh->do('DELETE FROM old_reserves');
50 $dbh->do('DELETE FROM borrowers');
51 $dbh->do('DELETE FROM aqorders');
52 $dbh->do('DELETE FROM subscription');
53
54 #################################################
55 #             Testing Subs
56 #################################################
57
58 # ---------- Testing NeedUpdate -----------------
59
60 #Mocking C4::Context->preference("UsageStatsLastUpdateTime") to 0
61 my $now = strftime( "%s", localtime );
62 t::lib::Mocks::mock_preference( "UsageStatsLastUpdateTime", 0 );
63
64 my $update = C4::UsageStats->NeedUpdate;
65 is( $update, 1, "There is no last update, update needed" );
66
67 #Mocking C4::Context->preference("UsageStatsLastUpdateTime") to now
68 $now = strftime( "%s", localtime );
69 t::lib::Mocks::mock_preference( "UsageStatsLastUpdateTime", $now );
70
71 $update = C4::UsageStats->NeedUpdate;
72 is( $update, 0, "Last update just be done, no update needed " );
73
74 # ---------- Testing BuildReport ----------------
75
76 #Test report->library -----------------
77 #mock to 0
78 t::lib::Mocks::mock_preference( "UsageStatsID",          0 );
79 t::lib::Mocks::mock_preference( "UsageStatsLibraryName", 0 );
80 t::lib::Mocks::mock_preference( "UsageStatsLibraryUrl",  0 );
81 t::lib::Mocks::mock_preference( "UsageStatsLibraryType", 0 );
82 t::lib::Mocks::mock_preference( "UsageStatsCountry",     0 );
83
84 my $report = C4::UsageStats->BuildReport();
85
86 isa_ok( $report,            'HASH', '$report is a HASH' );
87 isa_ok( $report->{library}, 'HASH', '$report->{library} is a HASH' );
88 is( scalar( keys( $report->{library} ) ), 5,  "There are 5 fields in $report->{library}" );
89 is( $report->{library}->{id},             0,  "UsageStatsID           is good" );
90 is( $report->{library}->{name},           '', "UsageStatsLibraryName  is good" );
91 is( $report->{library}->{url},            '', "UsageStatsLibraryUrl   is good" );
92 is( $report->{library}->{type},           '', "UsageStatsLibraryType  is good" );
93 is( $report->{library}->{country},        '', "UsageStatsCountry      is good" );
94
95 #mock with values
96 t::lib::Mocks::mock_preference( "UsageStatsID",          1 );
97 t::lib::Mocks::mock_preference( "UsageStatsLibraryName", 'NAME' );
98 t::lib::Mocks::mock_preference( "UsageStatsLibraryUrl",  'URL' );
99 t::lib::Mocks::mock_preference( "UsageStatsLibraryType", 'TYPE' );
100 t::lib::Mocks::mock_preference( "UsageStatsCountry",     'COUNTRY' );
101
102 $report = C4::UsageStats->BuildReport();
103
104 isa_ok( $report,            'HASH', '$report is a HASH' );
105 isa_ok( $report->{library}, 'HASH', '$report->{library} is a HASH' );
106 is( scalar( keys( $report->{library} ) ), 5,         "There are 5 fields in $report->{library}" );
107 is( $report->{library}->{id},             1,         "UsageStatsID            is good" );
108 is( $report->{library}->{name},           'NAME',    "UsageStatsLibraryName   is good" );
109 is( $report->{library}->{url},            'URL',     "UsageStatsLibraryUrl    is good" );
110 is( $report->{library}->{type},           'TYPE',    "UsageStatsLibraryType   is good" );
111 is( $report->{library}->{country},        'COUNTRY', "UsageStatsCountry       is good" );
112
113 #Test report->volumetry ---------------
114 #without objects
115 $report = C4::UsageStats->BuildReport();
116
117 isa_ok( $report,              'HASH', '$report is a HASH' );
118 isa_ok( $report->{volumetry}, 'HASH', '$report->{volumetry} is a HASH' );
119 is( scalar( keys( $report->{volumetry} ) ), 8, "There are 8 fields in $report->{volumetry}" );
120 is( $report->{volumetry}->{biblio},         0, "There is no biblio" );
121 is( $report->{volumetry}->{items},          0, "There is no items" );
122 is( $report->{volumetry}->{auth_header},    0, "There is no auth_header" );
123 is( $report->{volumetry}->{old_issues},     0, "There is no old_issues" );
124 is( $report->{volumetry}->{old_reserves},   0, "There is no old_reserves" );
125 is( $report->{volumetry}->{borrowers},      0, "There is no borrowers" );
126 is( $report->{volumetry}->{aqorders},       0, "There is no aqorders" );
127 is( $report->{volumetry}->{subscription},   0, "There is no subscription" );
128
129 construct_objects_needed();
130
131 #with objects
132 $report = C4::UsageStats->BuildReport();
133
134 isa_ok( $report,              'HASH', '$report is a HASH' );
135 isa_ok( $report->{volumetry}, 'HASH', '$report->{volumetry} is a HASH' );
136 is( scalar( keys( $report->{volumetry} ) ), 8, "There are 8 fields in $report->{volumetry}" );
137 is( $report->{volumetry}->{biblio},         4, "There are 4 biblio" );
138 is( $report->{volumetry}->{items},          3, "There are 3 items" );
139 is( $report->{volumetry}->{auth_header},    2, "There are 2 auth_header" );
140 is( $report->{volumetry}->{old_issues},     1, "There is 1 old_issues" );
141 is( $report->{volumetry}->{old_reserves},   1, "There is 1 old_reserves" );
142 is( $report->{volumetry}->{borrowers},      3, "There are 3 borrowers" );
143 is( $report->{volumetry}->{aqorders},       1, "There is 1 aqorders" );
144 is( $report->{volumetry}->{subscription},   1, "There is 1 subscription" );
145
146 #Test report->systempreferences -------
147 #mock to 0
148 mocking_systempreferences_to_a_set_value(0);
149
150 $report = C4::UsageStats->BuildReport();
151 isa_ok( $report,                      'HASH', '$report is a HASH' );
152 isa_ok( $report->{systempreferences}, 'HASH', '$report->{systempreferences} is a HASH' );
153 is( scalar( keys( $report->{systempreferences} ) ), 248, "There are 248 fields in $report->{systempreferences}" );
154 verif_systempreferences_values(0);
155
156 #mock with values
157 mocking_systempreferences_to_a_set_value(1);
158
159 $report = C4::UsageStats->BuildReport();
160 isa_ok( $report,                      'HASH', '$report is a HASH' );
161 isa_ok( $report->{systempreferences}, 'HASH', '$report->{systempreferences} is a HASH' );
162 is( scalar( keys( $report->{systempreferences} ) ), 248, "There are 248 fields in $report->{systempreferences}" );
163 verif_systempreferences_values(1);
164
165 # ---------- Testing ReportToCommunity ----------
166
167 # ---------- Testing _count ---------------------
168
169 $dbh->do('DROP TABLE IF EXISTS _exmpl_tbl');
170 $dbh->do('CREATE TABLE _exmpl_tbl (id INT, val VARCHAR(10))');
171 $dbh->do( 'INSERT INTO _exmpl_tbl VALUES(1, ?)', undef, 'Hello' );
172 $dbh->do( 'INSERT INTO _exmpl_tbl VALUES(2, ?)', undef, 'World' );
173
174 my $query = '
175   SELECT count(*)
176   FROM   _exmpl_tbl
177   ';
178 my $count = $dbh->selectrow_array($query);
179
180 my $nb_fields = C4::UsageStats::_count('_exmpl_tbl');
181 is( $nb_fields, $count, "_exmpl_tbl has 2 fields" );
182
183 #################################################
184 #             Subs
185 #################################################
186
187 # Adding :
188 # 3 borrowers
189 # 4 biblio
190 # 3 biblio items
191 # 3 items
192 # 2 auth_header
193 # 1 old_issues
194 # 1 old_reserves
195 # 1 subscription
196 # 1 aqorders
197 sub construct_objects_needed {
198
199     # ---------- 3 borrowers  ---------------------
200     my $surname1     = 'Borrower 1';
201     my $surname2     = 'Borrower 2';
202     my $surname3     = 'Borrower 3';
203     my $firstname1   = 'firstname 1';
204     my $firstname2   = 'firstname 2';
205     my $firstname3   = 'firstname 3';
206     my $cardnumber1  = '00001';
207     my $cardnumber2  = '00002';
208     my $cardnumber3  = '00003';
209     my $categorycode = Koha::Database->new()->schema()->resultset('Category')->first()->categorycode();
210     my $branchcode   = Koha::Database->new()->schema()->resultset('Branch')->first()->branchcode();
211
212     my $query = '
213    INSERT INTO borrowers
214       (surname, firstname, cardnumber, branchcode, categorycode)
215     VALUES (?,?,?,?,?)';
216     my $insert_sth = $dbh->prepare($query);
217     $insert_sth->execute( $surname1, $firstname1, $cardnumber1, $branchcode, $categorycode );
218     $insert_sth->execute( $surname2, $firstname2, $cardnumber2, $branchcode, $categorycode );
219     $insert_sth->execute( $surname3, $firstname3, $cardnumber3, $branchcode, $categorycode );
220
221     $query = '
222     SELECT borrowernumber
223     FROM   borrowers
224     WHERE  surname = ?';
225     my $borrowernumber1 = $dbh->selectrow_array( $query, {}, $surname1 );
226     my $borrowernumber2 = $dbh->selectrow_array( $query, {}, $surname2 );
227     my $borrowernumber3 = $dbh->selectrow_array( $query, {}, $surname3 );
228
229     # ---------- 3 biblios -----------------------
230     my $title1  = 'Title 1';
231     my $title2  = 'Title 2';
232     my $title3  = 'Title 3';
233     my $author1 = 'Author 1';
234     my $author2 = 'Author 2';
235     my $author3 = 'Author 3';
236
237     $query = '
238     INSERT INTO biblio
239       (title, author)
240     VALUES (?,?)';
241     $insert_sth = $dbh->prepare($query);
242     $insert_sth->execute( $title1, $author1 );
243     my $biblionumber1 = $dbh->last_insert_id( undef, undef, 'biblio', undef );
244     $insert_sth->execute( $title2, undef );
245     my $biblionumber2 = $dbh->last_insert_id( undef, undef, 'biblio', undef );
246     $insert_sth->execute( $title3, $author3 );
247     my $biblionumber3 = $dbh->last_insert_id( undef, undef, 'biblio', undef );
248
249     # ---------- 3 biblio items  -------------------------
250     $query = '
251     INSERT INTO biblioitems
252       (biblionumber, itemtype, marcxml)
253     VALUES (?,?,?)';
254     $insert_sth = $dbh->prepare($query);
255     $insert_sth->execute( $biblionumber1, 'Book',  '' );
256     $insert_sth->execute( $biblionumber2, 'Music', '' );
257     $insert_sth->execute( $biblionumber3, 'Book',  '' );
258
259     $query = '
260     SELECT biblioitemnumber
261     FROM   biblioitems
262     WHERE  biblionumber = ?';
263     my $biblioitemnumber1 = $dbh->selectrow_array( $query, {}, $biblionumber1 );
264     my $biblioitemnumber2 = $dbh->selectrow_array( $query, {}, $biblionumber2 );
265     my $biblioitemnumber3 = $dbh->selectrow_array( $query, {}, $biblionumber3 );
266
267     # ---------- 3 items  -------------------------
268     my $barcode1 = '111111';
269     my $barcode2 = '222222';
270     my $barcode3 = '333333';
271
272     $query = '
273     INSERT INTO items
274       (biblionumber, biblioitemnumber, barcode, itype)
275     VALUES (?,?,?,?)';
276     $insert_sth = $dbh->prepare($query);
277     $insert_sth->execute( $biblionumber1, $biblioitemnumber1, $barcode1, 'Book' );
278     $insert_sth->execute( $biblionumber2, $biblioitemnumber2, $barcode2, 'Music' );
279     $insert_sth->execute( $biblionumber3, $biblioitemnumber3, $barcode3, 'Book' );
280
281     $query = '
282     SELECT itemnumber
283     FROM   items
284     WHERE  barcode = ?';
285     my $item_number1 = $dbh->selectrow_array( $query, {}, $barcode1 );
286     my $item_number2 = $dbh->selectrow_array( $query, {}, $barcode2 );
287     my $item_number3 = $dbh->selectrow_array( $query, {}, $barcode3 );
288
289     # ---------- Add 2 auth_header
290     $query = '
291     INSERT INTO auth_header
292       (authtypecode)
293     VALUES (?)';
294     $insert_sth = $dbh->prepare($query);
295     $insert_sth->execute('authtypecode1');
296     $insert_sth->execute('authtypecode2');
297
298     $query = '
299     SELECT authid
300     FROM   auth_header
301     WHERE  authtypecode = ?';
302     my $authid1 = $dbh->selectrow_array( $query, {}, 'authtypecode1' );
303     my $authid2 = $dbh->selectrow_array( $query, {}, 'authtypecode2' );
304
305     # ---------- Add 1 old_issues
306     $query = '
307     INSERT INTO old_issues
308       (borrowernumber, branchcode, itemnumber)
309     VALUES (?,?,?)';
310     $insert_sth = $dbh->prepare($query);
311     $insert_sth->execute( $borrowernumber1, $branchcode, $item_number1 );
312
313     $query = '
314     SELECT issue_id
315     FROM   old_issues
316     WHERE  borrowernumber = ?';
317     my $issue_id1 = $dbh->selectrow_array( $query, {}, $borrowernumber1 );
318
319     # ---------- Add 1 old_reserves
320     AddReserve( $branchcode, $borrowernumber1, $biblionumber1, 'a', '', 1, undef, undef, '', 'Title', undef, undef );
321     my $reserves1   = GetReservesFromBiblionumber( { biblionumber => $biblionumber1 } );
322     my $reserve_id1 = $reserves1->[0]->{reserve_id};
323     my $reserve1    = CancelReserve( { reserve_id => $reserve_id1 } );
324
325     # ---------- Add 1 biblio, 1 subscription and 1 aqorder
326     my $builder = t::lib::TestBuilder->new();
327     $builder->clear( { source => 'Aqorder' } );
328     my $order1 = $builder->build(
329         {   source  => 'Aqorder',
330             value   => { datecancellationprinted => undef, },
331             only_fk => 1,
332         }
333     );
334     my $newordernumber = Koha::Acquisition::Order->new($order1)->insert->{ordernumber};
335 }
336
337 #Change systempreferences values to $set_value
338 sub mocking_systempreferences_to_a_set_value {
339     my $set_value = shift;
340
341     foreach (
342         qw/
343         AcqCreateItem
344         AcqWarnOnDuplicateInvoice
345         AcqViewBaskets
346         BasketConfirmations
347         OrderPdfFormat
348         casAuthentication
349         casLogout
350         AllowPkiAuth
351         DebugLevel
352         delimiter
353         noItemTypeImages
354         virtualshelves
355         AutoLocation
356         IndependentBranches
357         SessionStorage
358         Persona
359         AuthDisplayHierarchy
360         AutoCreateAuthorities
361         BiblioAddsAuthorities
362         dontmerge
363         UseAuthoritiesForTracings
364         CatalogModuleRelink
365         hide_marc
366         IntranetBiblioDefaultView
367         LabelMARCView
368         OpacSuppression
369         SeparateHoldings
370         UseControlNumber
371         advancedMARCeditor
372         DefaultClassificationSource
373         EasyAnalyticalRecords
374         autoBarcode
375         item-level_itypes
376         marcflavour
377         PrefillItem
378         z3950NormalizeAuthor
379         SpineLabelAutoPrint
380         SpineLabelShowPrintOnBibDetails
381         BlockReturnOfWithdrawnItems
382         CalculateFinesOnReturn
383         AgeRestrictionOverride
384         AllFinesNeedOverride
385         AllowFineOverride
386         AllowItemsOnHoldCheckout
387         AllowNotForLoanOverride
388         AllowRenewalLimitOverride
389         AllowReturnToBranch
390         AllowTooManyOverride
391         AutomaticItemReturn
392         AutoRemoveOverduesRestrictions
393         CircControl
394         HomeOrHoldingBranch
395         HomeOrHoldingBranchReturn
396         InProcessingToShelvingCart
397         IssueLostItem
398         IssuingInProcess
399         ManInvInNoissuesCharge
400         OverduesBlockCirc
401         RenewalPeriodBase
402         RenewalSendNotice
403         RentalsInNoissuesCharge
404         ReturnBeforeExpiry
405         ReturnToShelvingCart
406         TransfersMaxDaysWarning
407         UseBranchTransferLimits
408         useDaysMode
409         UseTransportCostMatrix
410         UseCourseReserves
411         finesCalendar
412         FinesIncludeGracePeriod
413         finesMode
414         RefundLostItemFeeOnReturn
415         WhenLostChargeReplacementFee
416         WhenLostForgiveFine
417         AllowHoldDateInFuture
418         AllowHoldPolicyOverride
419         AllowHoldsOnDamagedItems
420         AllowHoldsOnPatronsPossessions
421         AutoResumeSuspendedHolds
422         canreservefromotherbranches
423         decreaseLoanHighHolds
424         DisplayMultiPlaceHold
425         emailLibrarianWhenHoldIsPlaced
426         ExpireReservesMaxPickUpDelay
427         OPACAllowHoldDateInFuture
428         OPACAllowUserToChooseBranch
429         ReservesControlBranch
430         ReservesNeedReturns
431         SuspendHoldsIntranet
432         SuspendHoldsOpac
433         TransferWhenCancelAllWaitingHolds
434         AllowAllMessageDeletion
435         AllowOfflineCirculation
436         CircAutocompl
437         CircAutoPrintQuickSlip
438         DisplayClearScreenButton
439         FilterBeforeOverdueReport
440         FineNotifyAtCheckin
441         itemBarcodeFallbackSearch
442         itemBarcodeInputFilter
443         previousIssuesDefaultSortOrder
444         RecordLocalUseOnReturn
445         soundon
446         SpecifyDueDate
447         todaysIssuesDefaultSortOrder
448         UpdateTotalIssuesOnCirc
449         UseTablesortForCirc
450         WaitingNotifyAtCheckin
451         AllowSelfCheckReturns
452         AutoSelfCheckAllowed
453         FRBRizeEditions
454         OPACFRBRizeEditions
455         AmazonCoverImages
456         OPACAmazonCoverImages
457         Babeltheque
458         BakerTaylorEnabled
459         GoogleJackets
460         HTML5MediaEnabled
461         IDreamBooksReadometer
462         IDreamBooksResults
463         IDreamBooksReviews
464         LibraryThingForLibrariesEnabled
465         LocalCoverImages
466         OPACLocalCoverImages
467         NovelistSelectEnabled
468         XISBN
469         OpenLibraryCovers
470         UseKohaPlugins
471         SyndeticsEnabled
472         TagsEnabled
473         CalendarFirstDayOfWeek
474         opaclanguagesdisplay
475         AuthoritiesLog
476         BorrowersLog
477         CataloguingLog
478         FinesLog
479         IssueLog
480         LetterLog
481         ReturnLog
482         SubscriptionLog
483         AuthorisedValueImages
484         BiblioDefaultView
485         COinSinOPACResults
486         DisplayOPACiconsXSLT
487         hidelostitems
488         HighlightOwnItemsOnOPAC
489         OpacAddMastheadLibraryPulldown
490         OPACDisplay856uAsImage
491         OpacHighlightedWords
492         OpacKohaUrl
493         OpacMaintenance
494         OpacPublic
495         OpacSeparateHoldings
496         OPACShowBarcode
497         OPACShowCheckoutName
498         OpacShowFiltersPulldownMobile
499         OPACShowHoldQueueDetails
500         OpacShowLibrariesPulldownMobile
501         OpacShowRecentComments
502         OPACShowUnusedAuthorities
503         OpacStarRatings
504         opacthemes
505         OPACURLOpenInNewWindow
506         OpacAuthorities
507         opacbookbag
508         OpacBrowser
509         OpacBrowseResults
510         OpacCloud
511         OPACFinesTab
512         OpacHoldNotes
513         OpacItemLocation
514         OpacPasswordChange
515         OPACPatronDetails
516         OPACpatronimages
517         OPACPopupAuthorsSearch
518         OpacTopissue
519         opacuserlogin
520         QuoteOfTheDay
521         RequestOnOpac
522         reviewson
523         ShowReviewer
524         ShowReviewerPhoto
525         SocialNetworks
526         suggestion
527         AllowPurchaseSuggestionBranchChoice
528         OpacAllowPublicListCreation
529         OpacAllowSharingPrivateLists
530         OpacRenewalAllowed
531         OpacRenewalBranch
532         OPACViewOthersSuggestions
533         SearchMyLibraryFirst
534         singleBranchMode
535         AnonSuggestions
536         EnableOpacSearchHistory
537         OPACPrivacy
538         opacreadinghistory
539         TrackClicks
540         PatronSelfRegistration
541         OPACShelfBrowser
542         AutoEmailOpacUser
543         AutoEmailPrimaryAddress
544         autoMemberNum
545         BorrowerRenewalPeriodBase
546         checkdigit
547         EnableBorrowerFiles
548         EnhancedMessagingPreferences
549         ExtendedPatronAttributes
550         intranetreadinghistory
551         memberofinstitution
552         patronimages
553         TalkingTechItivaPhoneNotification
554         uppercasesurnames
555         IncludeSeeFromInSearches
556         OpacGroupResults
557         QueryAutoTruncate
558         QueryFuzzy
559         QueryStemming
560         QueryWeightFields
561         TraceCompleteSubfields
562         TraceSubjectSubdivisions
563         UseICU
564         UseQueryParser
565         defaultSortField
566         displayFacetCount
567         OPACdefaultSortField
568         OPACItemsResultsDisplay
569         expandedSearchOption
570         IntranetNumbersPreferPhrase
571         OPACNumbersPreferPhrase
572         opacSerialDefaultTab
573         RenewSerialAddsSuggestion
574         RoutingListAddReserves
575         RoutingSerials
576         SubscriptionHistory
577         Display856uAsImage
578         DisplayIconsXSLT
579         StaffAuthorisedValueImages
580         template
581         yuipath
582         HidePatronName
583         intranetbookbag
584         StaffDetailItemSelection
585         viewISBD
586         viewLabeledMARC
587         viewMARC
588         ILS-DI
589         OAI-PMH
590         version
591         /
592       ) {
593         t::lib::Mocks::mock_preference( $_, $set_value );
594     }
595 }
596
597 #Test if all systempreferences are at $value_to_test
598 sub verif_systempreferences_values {
599     my $value_to_test = shift;
600
601     is( $report->{systempreferences}->{AcqCreateItem},                       $value_to_test, "AcqCreateItem                      = $value_to_test" );
602     is( $report->{systempreferences}->{AcqWarnOnDuplicateInvoice},           $value_to_test, "AcqWarnOnDuplicateInvoice          = $value_to_test" );
603     is( $report->{systempreferences}->{AcqViewBaskets},                      $value_to_test, "AcqViewBaskets                     = $value_to_test" );
604     is( $report->{systempreferences}->{BasketConfirmations},                 $value_to_test, "BasketConfirmations                = $value_to_test" );
605     is( $report->{systempreferences}->{OrderPdfFormat},                      $value_to_test, "OrderPdfFormat                     = $value_to_test" );
606     is( $report->{systempreferences}->{casAuthentication},                   $value_to_test, "casAuthentication                  = $value_to_test" );
607     is( $report->{systempreferences}->{casLogout},                           $value_to_test, "casLogout                          = $value_to_test" );
608     is( $report->{systempreferences}->{AllowPkiAuth},                        $value_to_test, "AllowPkiAuth                       = $value_to_test" );
609     is( $report->{systempreferences}->{DebugLevel},                          $value_to_test, "DebugLevel                         = $value_to_test" );
610     is( $report->{systempreferences}->{delimiter},                           $value_to_test, "delimiter                          = $value_to_test" );
611     is( $report->{systempreferences}->{noItemTypeImages},                    $value_to_test, "noItemTypeImages                   = $value_to_test" );
612     is( $report->{systempreferences}->{virtualshelves},                      $value_to_test, "virtualshelves                     = $value_to_test" );
613     is( $report->{systempreferences}->{AutoLocation},                        $value_to_test, "AutoLocation                       = $value_to_test" );
614     is( $report->{systempreferences}->{IndependentBranches},                 $value_to_test, "IndependentBranches                = $value_to_test" );
615     is( $report->{systempreferences}->{SessionStorage},                      $value_to_test, "SessionStorage                     = $value_to_test" );
616     is( $report->{systempreferences}->{Persona},                             $value_to_test, "Persona                            = $value_to_test" );
617     is( $report->{systempreferences}->{AuthDisplayHierarchy},                $value_to_test, "AuthDisplayHierarchy               = $value_to_test" );
618     is( $report->{systempreferences}->{AutoCreateAuthorities},               $value_to_test, "AutoCreateAuthorities              = $value_to_test" );
619     is( $report->{systempreferences}->{BiblioAddsAuthorities},               $value_to_test, "BiblioAddsAuthorities              = $value_to_test" );
620     is( $report->{systempreferences}->{dontmerge},                           $value_to_test, "dontmerge                          = $value_to_test" );
621     is( $report->{systempreferences}->{UseAuthoritiesForTracings},           $value_to_test, "UseAuthoritiesForTracings          = $value_to_test" );
622     is( $report->{systempreferences}->{CatalogModuleRelink},                 $value_to_test, "CatalogModuleRelink                = $value_to_test" );
623     is( $report->{systempreferences}->{hide_marc},                           $value_to_test, "hide_marc                          = $value_to_test" );
624     is( $report->{systempreferences}->{IntranetBiblioDefaultView},           $value_to_test, "IntranetBiblioDefaultView          = $value_to_test" );
625     is( $report->{systempreferences}->{LabelMARCView},                       $value_to_test, "LabelMARCView                      = $value_to_test" );
626     is( $report->{systempreferences}->{OpacSuppression},                     $value_to_test, "OpacSuppression                    = $value_to_test" );
627     is( $report->{systempreferences}->{SeparateHoldings},                    $value_to_test, "SeparateHoldings                   = $value_to_test" );
628     is( $report->{systempreferences}->{UseControlNumber},                    $value_to_test, "UseControlNumber                   = $value_to_test" );
629     is( $report->{systempreferences}->{advancedMARCeditor},                  $value_to_test, "advancedMARCeditor                 = $value_to_test" );
630     is( $report->{systempreferences}->{DefaultClassificationSource},         $value_to_test, "DefaultClassificationSource        = $value_to_test" );
631     is( $report->{systempreferences}->{EasyAnalyticalRecords},               $value_to_test, "EasyAnalyticalRecords              = $value_to_test" );
632     is( $report->{systempreferences}->{autoBarcode},                         $value_to_test, "autoBarcode                        = $value_to_test" );
633     is( $report->{systempreferences}->{'item-level_itypes'},                 $value_to_test, "item-level_itypes                  = $value_to_test" );
634     is( $report->{systempreferences}->{marcflavour},                         $value_to_test, "marcflavour                        = $value_to_test" );
635     is( $report->{systempreferences}->{PrefillItem},                         $value_to_test, "PrefillItem                        = $value_to_test" );
636     is( $report->{systempreferences}->{z3950NormalizeAuthor},                $value_to_test, "z3950NormalizeAuthor               = $value_to_test" );
637     is( $report->{systempreferences}->{SpineLabelAutoPrint},                 $value_to_test, "SpineLabelAutoPrint                = $value_to_test" );
638     is( $report->{systempreferences}->{SpineLabelShowPrintOnBibDetails},     $value_to_test, "SpineLabelShowPrintOnBibDetails    = $value_to_test" );
639     is( $report->{systempreferences}->{BlockReturnOfWithdrawnItems},         $value_to_test, "BlockReturnOfWithdrawnItems        = $value_to_test" );
640     is( $report->{systempreferences}->{CalculateFinesOnReturn},              $value_to_test, "CalculateFinesOnReturn             = $value_to_test" );
641     is( $report->{systempreferences}->{AgeRestrictionOverride},              $value_to_test, "AgeRestrictionOverride             = $value_to_test" );
642     is( $report->{systempreferences}->{AllFinesNeedOverride},                $value_to_test, "AllFinesNeedOverride               = $value_to_test" );
643     is( $report->{systempreferences}->{AllowFineOverride},                   $value_to_test, "AllowFineOverride                  = $value_to_test" );
644     is( $report->{systempreferences}->{AllowItemsOnHoldCheckout},            $value_to_test, "AllowItemsOnHoldCheckout           = $value_to_test" );
645     is( $report->{systempreferences}->{AllowNotForLoanOverride},             $value_to_test, "AllowNotForLoanOverride            = $value_to_test" );
646     is( $report->{systempreferences}->{AllowRenewalLimitOverride},           $value_to_test, "AllowRenewalLimitOverride          = $value_to_test" );
647     is( $report->{systempreferences}->{AllowReturnToBranch},                 $value_to_test, "AllowReturnToBranch                = $value_to_test" );
648     is( $report->{systempreferences}->{AllowTooManyOverride},                $value_to_test, "AllowTooManyOverride               = $value_to_test" );
649     is( $report->{systempreferences}->{AutomaticItemReturn},                 $value_to_test, "AutomaticItemReturn                = $value_to_test" );
650     is( $report->{systempreferences}->{AutoRemoveOverduesRestrictions},      $value_to_test, "AutoRemoveOverduesRestrictions     = $value_to_test" );
651     is( $report->{systempreferences}->{CircControl},                         $value_to_test, "CircControl                        = $value_to_test" );
652     is( $report->{systempreferences}->{HomeOrHoldingBranch},                 $value_to_test, "HomeOrHoldingBranch                = $value_to_test" );
653     is( $report->{systempreferences}->{HomeOrHoldingBranchReturn},           $value_to_test, "HomeOrHoldingBranchReturn          = $value_to_test" );
654     is( $report->{systempreferences}->{InProcessingToShelvingCart},          $value_to_test, "InProcessingToShelvingCart         = $value_to_test" );
655     is( $report->{systempreferences}->{IssueLostItem},                       $value_to_test, "IssueLostItem                      = $value_to_test" );
656     is( $report->{systempreferences}->{IssuingInProcess},                    $value_to_test, "IssuingInProcess                   = $value_to_test" );
657     is( $report->{systempreferences}->{ManInvInNoissuesCharge},              $value_to_test, "ManInvInNoissuesCharge             = $value_to_test" );
658     is( $report->{systempreferences}->{OverduesBlockCirc},                   $value_to_test, "OverduesBlockCirc                  = $value_to_test" );
659     is( $report->{systempreferences}->{RenewalPeriodBase},                   $value_to_test, "RenewalPeriodBase                  = $value_to_test" );
660     is( $report->{systempreferences}->{RenewalSendNotice},                   $value_to_test, "RenewalSendNotice                  = $value_to_test" );
661     is( $report->{systempreferences}->{RentalsInNoissuesCharge},             $value_to_test, "RentalsInNoissuesCharge            = $value_to_test" );
662     is( $report->{systempreferences}->{ReturnBeforeExpiry},                  $value_to_test, "ReturnBeforeExpiry                 = $value_to_test" );
663     is( $report->{systempreferences}->{ReturnToShelvingCart},                $value_to_test, "ReturnToShelvingCart               = $value_to_test" );
664     is( $report->{systempreferences}->{TransfersMaxDaysWarning},             $value_to_test, "TransfersMaxDaysWarning            = $value_to_test" );
665     is( $report->{systempreferences}->{UseBranchTransferLimits},             $value_to_test, "UseBranchTransferLimits            = $value_to_test" );
666     is( $report->{systempreferences}->{useDaysMode},                         $value_to_test, "useDaysMode                        = $value_to_test" );
667     is( $report->{systempreferences}->{UseTransportCostMatrix},              $value_to_test, "UseTransportCostMatrix             = $value_to_test" );
668     is( $report->{systempreferences}->{UseCourseReserves},                   $value_to_test, "UseCourseReserves                  = $value_to_test" );
669     is( $report->{systempreferences}->{finesCalendar},                       $value_to_test, "finesCalendar                      = $value_to_test" );
670     is( $report->{systempreferences}->{FinesIncludeGracePeriod},             $value_to_test, "FinesIncludeGracePeriod            = $value_to_test" );
671     is( $report->{systempreferences}->{finesMode},                           $value_to_test, "finesMode                          = $value_to_test" );
672     is( $report->{systempreferences}->{RefundLostItemFeeOnReturn},           $value_to_test, "RefundLostItemFeeOnReturn          = $value_to_test" );
673     is( $report->{systempreferences}->{WhenLostChargeReplacementFee},        $value_to_test, "WhenLostChargeReplacementFee       = $value_to_test" );
674     is( $report->{systempreferences}->{WhenLostForgiveFine},                 $value_to_test, "WhenLostForgiveFine                = $value_to_test" );
675     is( $report->{systempreferences}->{AllowHoldDateInFuture},               $value_to_test, "AllowHoldDateInFuture              = $value_to_test" );
676     is( $report->{systempreferences}->{AllowHoldPolicyOverride},             $value_to_test, "AllowHoldPolicyOverride            = $value_to_test" );
677     is( $report->{systempreferences}->{AllowHoldsOnDamagedItems},            $value_to_test, "AllowHoldsOnDamagedItems           = $value_to_test" );
678     is( $report->{systempreferences}->{AllowHoldsOnPatronsPossessions},      $value_to_test, "AllowHoldsOnPatronsPossessions     = $value_to_test" );
679     is( $report->{systempreferences}->{AutoResumeSuspendedHolds},            $value_to_test, "AutoResumeSuspendedHolds           = $value_to_test" );
680     is( $report->{systempreferences}->{canreservefromotherbranches},         $value_to_test, "canreservefromotherbranches        = $value_to_test" );
681     is( $report->{systempreferences}->{decreaseLoanHighHolds},               $value_to_test, "decreaseLoanHighHolds              = $value_to_test" );
682     is( $report->{systempreferences}->{DisplayMultiPlaceHold},               $value_to_test, "DisplayMultiPlaceHold              = $value_to_test" );
683     is( $report->{systempreferences}->{emailLibrarianWhenHoldIsPlaced},      $value_to_test, "emailLibrarianWhenHoldIsPlaced     = $value_to_test" );
684     is( $report->{systempreferences}->{ExpireReservesMaxPickUpDelay},        $value_to_test, "ExpireReservesMaxPickUpDelay       = $value_to_test" );
685     is( $report->{systempreferences}->{OPACAllowHoldDateInFuture},           $value_to_test, "OPACAllowHoldDateInFuture          = $value_to_test" );
686     is( $report->{systempreferences}->{OPACAllowUserToChooseBranch},         $value_to_test, "OPACAllowUserToChooseBranch        = $value_to_test" );
687     is( $report->{systempreferences}->{ReservesControlBranch},               $value_to_test, "ReservesControlBranch              = $value_to_test" );
688     is( $report->{systempreferences}->{ReservesNeedReturns},                 $value_to_test, "ReservesNeedReturns                = $value_to_test" );
689     is( $report->{systempreferences}->{SuspendHoldsIntranet},                $value_to_test, "SuspendHoldsIntranet               = $value_to_test" );
690     is( $report->{systempreferences}->{SuspendHoldsOpac},                    $value_to_test, "SuspendHoldsOpac                   = $value_to_test" );
691     is( $report->{systempreferences}->{TransferWhenCancelAllWaitingHolds},   $value_to_test, "TransferWhenCancelAllWaitingHolds  = $value_to_test" );
692     is( $report->{systempreferences}->{AllowAllMessageDeletion},             $value_to_test, "AllowAllMessageDeletion            = $value_to_test" );
693     is( $report->{systempreferences}->{AllowOfflineCirculation},             $value_to_test, "AllowOfflineCirculation            = $value_to_test" );
694     is( $report->{systempreferences}->{CircAutocompl},                       $value_to_test, "CircAutocompl                      = $value_to_test" );
695     is( $report->{systempreferences}->{CircAutoPrintQuickSlip},              $value_to_test, "CircAutoPrintQuickSlip             = $value_to_test" );
696     is( $report->{systempreferences}->{DisplayClearScreenButton},            $value_to_test, "DisplayClearScreenButton           = $value_to_test" );
697     is( $report->{systempreferences}->{FilterBeforeOverdueReport},           $value_to_test, "FilterBeforeOverdueReport          = $value_to_test" );
698     is( $report->{systempreferences}->{FineNotifyAtCheckin},                 $value_to_test, "FineNotifyAtCheckin                = $value_to_test" );
699     is( $report->{systempreferences}->{itemBarcodeFallbackSearch},           $value_to_test, "itemBarcodeFallbackSearch          = $value_to_test" );
700     is( $report->{systempreferences}->{itemBarcodeInputFilter},              $value_to_test, "itemBarcodeInputFilter             = $value_to_test" );
701     is( $report->{systempreferences}->{previousIssuesDefaultSortOrder},      $value_to_test, "previousIssuesDefaultSortOrder     = $value_to_test" );
702     is( $report->{systempreferences}->{RecordLocalUseOnReturn},              $value_to_test, "RecordLocalUseOnReturn             = $value_to_test" );
703     is( $report->{systempreferences}->{soundon},                             $value_to_test, "soundon                            = $value_to_test" );
704     is( $report->{systempreferences}->{SpecifyDueDate},                      $value_to_test, "SpecifyDueDate                     = $value_to_test" );
705     is( $report->{systempreferences}->{todaysIssuesDefaultSortOrder},        $value_to_test, "todaysIssuesDefaultSortOrder       = $value_to_test" );
706     is( $report->{systempreferences}->{UpdateTotalIssuesOnCirc},             $value_to_test, "UpdateTotalIssuesOnCirc            = $value_to_test" );
707     is( $report->{systempreferences}->{UseTablesortForCirc},                 $value_to_test, "UseTablesortForCirc                = $value_to_test" );
708     is( $report->{systempreferences}->{WaitingNotifyAtCheckin},              $value_to_test, "WaitingNotifyAtCheckin             = $value_to_test" );
709     is( $report->{systempreferences}->{AllowSelfCheckReturns},               $value_to_test, "AllowSelfCheckReturns              = $value_to_test" );
710     is( $report->{systempreferences}->{AutoSelfCheckAllowed},                $value_to_test, "AutoSelfCheckAllowed               = $value_to_test" );
711     is( $report->{systempreferences}->{FRBRizeEditions},                     $value_to_test, "FRBRizeEditions                    = $value_to_test" );
712     is( $report->{systempreferences}->{OPACFRBRizeEditions},                 $value_to_test, "OPACFRBRizeEditions                = $value_to_test" );
713     is( $report->{systempreferences}->{AmazonCoverImages},                   $value_to_test, "AmazonCoverImages                  = $value_to_test" );
714     is( $report->{systempreferences}->{OPACAmazonCoverImages},               $value_to_test, "OPACAmazonCoverImages              = $value_to_test" );
715     is( $report->{systempreferences}->{Babeltheque},                         $value_to_test, "Babeltheque                        = $value_to_test" );
716     is( $report->{systempreferences}->{BakerTaylorEnabled},                  $value_to_test, "BakerTaylorEnabled                 = $value_to_test" );
717     is( $report->{systempreferences}->{GoogleJackets},                       $value_to_test, "GoogleJackets                      = $value_to_test" );
718     is( $report->{systempreferences}->{HTML5MediaEnabled},                   $value_to_test, "HTML5MediaEnabled                  = $value_to_test" );
719     is( $report->{systempreferences}->{IDreamBooksReadometer},               $value_to_test, "IDreamBooksReadometer              = $value_to_test" );
720     is( $report->{systempreferences}->{IDreamBooksResults},                  $value_to_test, "IDreamBooksResults                 = $value_to_test" );
721     is( $report->{systempreferences}->{IDreamBooksReviews},                  $value_to_test, "IDreamBooksReviews                 = $value_to_test" );
722     is( $report->{systempreferences}->{LibraryThingForLibrariesEnabled},     $value_to_test, "LibraryThingForLibrariesEnabled    = $value_to_test" );
723     is( $report->{systempreferences}->{LocalCoverImages},                    $value_to_test, "LocalCoverImages                   = $value_to_test" );
724     is( $report->{systempreferences}->{OPACLocalCoverImages},                $value_to_test, "OPACLocalCoverImages               = $value_to_test" );
725     is( $report->{systempreferences}->{NovelistSelectEnabled},               $value_to_test, "NovelistSelectEnabled              = $value_to_test" );
726     is( $report->{systempreferences}->{XISBN},                               $value_to_test, "XISBN                              = $value_to_test" );
727     is( $report->{systempreferences}->{OpenLibraryCovers},                   $value_to_test, "OpenLibraryCovers                  = $value_to_test" );
728     is( $report->{systempreferences}->{UseKohaPlugins},                      $value_to_test, "UseKohaPlugins                     = $value_to_test" );
729     is( $report->{systempreferences}->{SyndeticsEnabled},                    $value_to_test, "SyndeticsEnabled                   = $value_to_test" );
730     is( $report->{systempreferences}->{TagsEnabled},                         $value_to_test, "TagsEnabled                        = $value_to_test" );
731     is( $report->{systempreferences}->{CalendarFirstDayOfWeek},              $value_to_test, "CalendarFirstDayOfWeek             = $value_to_test" );
732     is( $report->{systempreferences}->{opaclanguagesdisplay},                $value_to_test, "opaclanguagesdisplay               = $value_to_test" );
733     is( $report->{systempreferences}->{AuthoritiesLog},                      $value_to_test, "AuthoritiesLog                     = $value_to_test" );
734     is( $report->{systempreferences}->{BorrowersLog},                        $value_to_test, "BorrowersLog                       = $value_to_test" );
735     is( $report->{systempreferences}->{CataloguingLog},                      $value_to_test, "CataloguingLog                     = $value_to_test" );
736     is( $report->{systempreferences}->{FinesLog},                            $value_to_test, "FinesLog                           = $value_to_test" );
737     is( $report->{systempreferences}->{IssueLog},                            $value_to_test, "IssueLog                           = $value_to_test" );
738     is( $report->{systempreferences}->{LetterLog},                           $value_to_test, "LetterLog                          = $value_to_test" );
739     is( $report->{systempreferences}->{ReturnLog},                           $value_to_test, "ReturnLog                          = $value_to_test" );
740     is( $report->{systempreferences}->{SubscriptionLog},                     $value_to_test, "SubscriptionLog                    = $value_to_test" );
741     is( $report->{systempreferences}->{AuthorisedValueImages},               $value_to_test, "AuthorisedValueImages              = $value_to_test" );
742     is( $report->{systempreferences}->{BiblioDefaultView},                   $value_to_test, "BiblioDefaultView                  = $value_to_test" );
743     is( $report->{systempreferences}->{COinSinOPACResults},                  $value_to_test, "COinSinOPACResults                 = $value_to_test" );
744     is( $report->{systempreferences}->{DisplayOPACiconsXSLT},                $value_to_test, "DisplayOPACiconsXSLT               = $value_to_test" );
745     is( $report->{systempreferences}->{hidelostitems},                       $value_to_test, "hidelostitems                      = $value_to_test" );
746     is( $report->{systempreferences}->{HighlightOwnItemsOnOPAC},             $value_to_test, "HighlightOwnItemsOnOPAC            = $value_to_test" );
747     is( $report->{systempreferences}->{OpacAddMastheadLibraryPulldown},      $value_to_test, "OpacAddMastheadLibraryPulldown     = $value_to_test" );
748     is( $report->{systempreferences}->{OPACDisplay856uAsImage},              $value_to_test, "OPACDisplay856uAsImage             = $value_to_test" );
749     is( $report->{systempreferences}->{OpacHighlightedWords},                $value_to_test, "OpacHighlightedWords               = $value_to_test" );
750     is( $report->{systempreferences}->{OpacKohaUrl},                         $value_to_test, "OpacKohaUrl                        = $value_to_test" );
751     is( $report->{systempreferences}->{OpacMaintenance},                     $value_to_test, "OpacMaintenance                    = $value_to_test" );
752     is( $report->{systempreferences}->{OpacPublic},                          $value_to_test, "OpacPublic                         = $value_to_test" );
753     is( $report->{systempreferences}->{OpacSeparateHoldings},                $value_to_test, "OpacSeparateHoldings               = $value_to_test" );
754     is( $report->{systempreferences}->{OPACShowBarcode},                     $value_to_test, "OPACShowBarcode                    = $value_to_test" );
755     is( $report->{systempreferences}->{OPACShowCheckoutName},                $value_to_test, "OPACShowCheckoutName               = $value_to_test" );
756     is( $report->{systempreferences}->{OpacShowFiltersPulldownMobile},       $value_to_test, "OpacShowFiltersPulldownMobile      = $value_to_test" );
757     is( $report->{systempreferences}->{OPACShowHoldQueueDetails},            $value_to_test, "OPACShowHoldQueueDetails           = $value_to_test" );
758     is( $report->{systempreferences}->{OpacShowLibrariesPulldownMobile},     $value_to_test, "OpacShowLibrariesPulldownMobile    = $value_to_test" );
759     is( $report->{systempreferences}->{OpacShowRecentComments},              $value_to_test, "OpacShowRecentComments             = $value_to_test" );
760     is( $report->{systempreferences}->{OPACShowUnusedAuthorities},           $value_to_test, "OPACShowUnusedAuthorities          = $value_to_test" );
761     is( $report->{systempreferences}->{OpacStarRatings},                     $value_to_test, "OpacStarRatings                    = $value_to_test" );
762     is( $report->{systempreferences}->{opacthemes},                          $value_to_test, "opacthemes                         = $value_to_test" );
763     is( $report->{systempreferences}->{OPACURLOpenInNewWindow},              $value_to_test, "OPACURLOpenInNewWindow             = $value_to_test" );
764     is( $report->{systempreferences}->{OpacAuthorities},                     $value_to_test, "OpacAuthorities                    = $value_to_test" );
765     is( $report->{systempreferences}->{opacbookbag},                         $value_to_test, "opacbookbag                        = $value_to_test" );
766     is( $report->{systempreferences}->{OpacBrowser},                         $value_to_test, "OpacBrowser                        = $value_to_test" );
767     is( $report->{systempreferences}->{OpacBrowseResults},                   $value_to_test, "OpacBrowseResults                  = $value_to_test" );
768     is( $report->{systempreferences}->{OpacCloud},                           $value_to_test, "OpacCloud                          = $value_to_test" );
769     is( $report->{systempreferences}->{OPACFinesTab},                        $value_to_test, "OPACFinesTab                       = $value_to_test" );
770     is( $report->{systempreferences}->{OpacHoldNotes},                       $value_to_test, "OpacHoldNotes                      = $value_to_test" );
771     is( $report->{systempreferences}->{OpacItemLocation},                    $value_to_test, "OpacItemLocation                   = $value_to_test" );
772     is( $report->{systempreferences}->{OpacPasswordChange},                  $value_to_test, "OpacPasswordChange                 = $value_to_test" );
773     is( $report->{systempreferences}->{OPACPatronDetails},                   $value_to_test, "OPACPatronDetails                  = $value_to_test" );
774     is( $report->{systempreferences}->{OPACpatronimages},                    $value_to_test, "OPACpatronimages                   = $value_to_test" );
775     is( $report->{systempreferences}->{OPACPopupAuthorsSearch},              $value_to_test, "OPACPopupAuthorsSearch             = $value_to_test" );
776     is( $report->{systempreferences}->{OpacTopissue},                        $value_to_test, "OpacTopissue                       = $value_to_test" );
777     is( $report->{systempreferences}->{opacuserlogin},                       $value_to_test, "opacuserlogin                      = $value_to_test" );
778     is( $report->{systempreferences}->{QuoteOfTheDay},                       $value_to_test, "QuoteOfTheDay                      = $value_to_test" );
779     is( $report->{systempreferences}->{RequestOnOpac},                       $value_to_test, "RequestOnOpac                      = $value_to_test" );
780     is( $report->{systempreferences}->{reviewson},                           $value_to_test, "reviewson                          = $value_to_test" );
781     is( $report->{systempreferences}->{ShowReviewer},                        $value_to_test, "ShowReviewer                       = $value_to_test" );
782     is( $report->{systempreferences}->{ShowReviewerPhoto},                   $value_to_test, "ShowReviewerPhoto                  = $value_to_test" );
783     is( $report->{systempreferences}->{SocialNetworks},                      $value_to_test, "SocialNetworks                     = $value_to_test" );
784     is( $report->{systempreferences}->{suggestion},                          $value_to_test, "suggestion                         = $value_to_test" );
785     is( $report->{systempreferences}->{AllowPurchaseSuggestionBranchChoice}, $value_to_test, "AllowPurchaseSuggestionBranchChoice= $value_to_test" );
786     is( $report->{systempreferences}->{OpacAllowPublicListCreation},         $value_to_test, "OpacAllowPublicListCreation        = $value_to_test" );
787     is( $report->{systempreferences}->{OpacAllowSharingPrivateLists},        $value_to_test, "OpacAllowSharingPrivateLists       = $value_to_test" );
788     is( $report->{systempreferences}->{OpacRenewalAllowed},                  $value_to_test, "OpacRenewalAllowed                 = $value_to_test" );
789     is( $report->{systempreferences}->{OpacRenewalBranch},                   $value_to_test, "OpacRenewalBranch                  = $value_to_test" );
790     is( $report->{systempreferences}->{OPACViewOthersSuggestions},           $value_to_test, "OPACViewOthersSuggestions          = $value_to_test" );
791     is( $report->{systempreferences}->{SearchMyLibraryFirst},                $value_to_test, "SearchMyLibraryFirst               = $value_to_test" );
792     is( $report->{systempreferences}->{singleBranchMode},                    $value_to_test, "singleBranchMode                   = $value_to_test" );
793     is( $report->{systempreferences}->{AnonSuggestions},                     $value_to_test, "AnonSuggestions                    = $value_to_test" );
794     is( $report->{systempreferences}->{EnableOpacSearchHistory},             $value_to_test, "EnableOpacSearchHistory            = $value_to_test" );
795     is( $report->{systempreferences}->{OPACPrivacy},                         $value_to_test, "OPACPrivacy                        = $value_to_test" );
796     is( $report->{systempreferences}->{opacreadinghistory},                  $value_to_test, "opacreadinghistory                 = $value_to_test" );
797     is( $report->{systempreferences}->{TrackClicks},                         $value_to_test, "TrackClicks                        = $value_to_test" );
798     is( $report->{systempreferences}->{PatronSelfRegistration},              $value_to_test, "PatronSelfRegistration             = $value_to_test" );
799     is( $report->{systempreferences}->{OPACShelfBrowser},                    $value_to_test, "OPACShelfBrowser                   = $value_to_test" );
800     is( $report->{systempreferences}->{AutoEmailOpacUser},                   $value_to_test, "AutoEmailOpacUser                  = $value_to_test" );
801     is( $report->{systempreferences}->{AutoEmailPrimaryAddress},             $value_to_test, "AutoEmailPrimaryAddress            = $value_to_test" );
802     is( $report->{systempreferences}->{autoMemberNum},                       $value_to_test, "autoMemberNum                      = $value_to_test" );
803     is( $report->{systempreferences}->{BorrowerRenewalPeriodBase},           $value_to_test, "BorrowerRenewalPeriodBase          = $value_to_test" );
804     is( $report->{systempreferences}->{checkdigit},                          $value_to_test, "checkdigit                         = $value_to_test" );
805     is( $report->{systempreferences}->{EnableBorrowerFiles},                 $value_to_test, "EnableBorrowerFiles                = $value_to_test" );
806     is( $report->{systempreferences}->{EnhancedMessagingPreferences},        $value_to_test, "EnhancedMessagingPreferences       = $value_to_test" );
807     is( $report->{systempreferences}->{ExtendedPatronAttributes},            $value_to_test, "ExtendedPatronAttributes           = $value_to_test" );
808     is( $report->{systempreferences}->{intranetreadinghistory},              $value_to_test, "intranetreadinghistory             = $value_to_test" );
809     is( $report->{systempreferences}->{memberofinstitution},                 $value_to_test, "memberofinstitution                = $value_to_test" );
810     is( $report->{systempreferences}->{patronimages},                        $value_to_test, "patronimages                       = $value_to_test" );
811     is( $report->{systempreferences}->{TalkingTechItivaPhoneNotification},   $value_to_test, "TalkingTechItivaPhoneNotification  = $value_to_test" );
812     is( $report->{systempreferences}->{uppercasesurnames},                   $value_to_test, "uppercasesurnames                  = $value_to_test" );
813     is( $report->{systempreferences}->{IncludeSeeFromInSearches},            $value_to_test, "IncludeSeeFromInSearches           = $value_to_test" );
814     is( $report->{systempreferences}->{OpacGroupResults},                    $value_to_test, "OpacGroupResults                   = $value_to_test" );
815     is( $report->{systempreferences}->{QueryAutoTruncate},                   $value_to_test, "QueryAutoTruncate                  = $value_to_test" );
816     is( $report->{systempreferences}->{QueryFuzzy},                          $value_to_test, "QueryFuzzy                         = $value_to_test" );
817     is( $report->{systempreferences}->{QueryStemming},                       $value_to_test, "QueryStemming                      = $value_to_test" );
818     is( $report->{systempreferences}->{QueryWeightFields},                   $value_to_test, "QueryWeightFields                  = $value_to_test" );
819     is( $report->{systempreferences}->{TraceCompleteSubfields},              $value_to_test, "TraceCompleteSubfields             = $value_to_test" );
820     is( $report->{systempreferences}->{TraceSubjectSubdivisions},            $value_to_test, "TraceSubjectSubdivisions           = $value_to_test" );
821     is( $report->{systempreferences}->{UseICU},                              $value_to_test, "UseICU                             = $value_to_test" );
822     is( $report->{systempreferences}->{UseQueryParser},                      $value_to_test, "UseQueryParser                     = $value_to_test" );
823     is( $report->{systempreferences}->{defaultSortField},                    $value_to_test, "defaultSortField                   = $value_to_test" );
824     is( $report->{systempreferences}->{displayFacetCount},                   $value_to_test, "displayFacetCount                  = $value_to_test" );
825     is( $report->{systempreferences}->{OPACdefaultSortField},                $value_to_test, "OPACdefaultSortField               = $value_to_test" );
826     is( $report->{systempreferences}->{OPACItemsResultsDisplay},             $value_to_test, "OPACItemsResultsDisplay            = $value_to_test" );
827     is( $report->{systempreferences}->{expandedSearchOption},                $value_to_test, "expandedSearchOption               = $value_to_test" );
828     is( $report->{systempreferences}->{IntranetNumbersPreferPhrase},         $value_to_test, "IntranetNumbersPreferPhrase        = $value_to_test" );
829     is( $report->{systempreferences}->{OPACNumbersPreferPhrase},             $value_to_test, "OPACNumbersPreferPhrase            = $value_to_test" );
830     is( $report->{systempreferences}->{opacSerialDefaultTab},                $value_to_test, "opacSerialDefaultTab               = $value_to_test" );
831     is( $report->{systempreferences}->{RenewSerialAddsSuggestion},           $value_to_test, "RenewSerialAddsSuggestion          = $value_to_test" );
832     is( $report->{systempreferences}->{RoutingListAddReserves},              $value_to_test, "RoutingListAddReserves             = $value_to_test" );
833     is( $report->{systempreferences}->{RoutingSerials},                      $value_to_test, "RoutingSerials                     = $value_to_test" );
834     is( $report->{systempreferences}->{SubscriptionHistory},                 $value_to_test, "SubscriptionHistory                = $value_to_test" );
835     is( $report->{systempreferences}->{Display856uAsImage},                  $value_to_test, "Display856uAsImage                 = $value_to_test" );
836     is( $report->{systempreferences}->{DisplayIconsXSLT},                    $value_to_test, "DisplayIconsXSLT                   = $value_to_test" );
837     is( $report->{systempreferences}->{StaffAuthorisedValueImages},          $value_to_test, "StaffAuthorisedValueImages         = $value_to_test" );
838     is( $report->{systempreferences}->{template},                            $value_to_test, "template                           = $value_to_test" );
839     is( $report->{systempreferences}->{yuipath},                             $value_to_test, "yuipath                            = $value_to_test" );
840     is( $report->{systempreferences}->{HidePatronName},                      $value_to_test, "HidePatronName                     = $value_to_test" );
841     is( $report->{systempreferences}->{intranetbookbag},                     $value_to_test, "intranetbookbag                    = $value_to_test" );
842     is( $report->{systempreferences}->{StaffDetailItemSelection},            $value_to_test, "StaffDetailItemSelection           = $value_to_test" );
843     is( $report->{systempreferences}->{viewISBD},                            $value_to_test, "viewISBD                           = $value_to_test" );
844     is( $report->{systempreferences}->{viewLabeledMARC},                     $value_to_test, "viewLabeledMARC                    = $value_to_test" );
845     is( $report->{systempreferences}->{viewMARC},                            $value_to_test, "viewMARC                           = $value_to_test" );
846     is( $report->{systempreferences}->{'ILS-DI'},                            $value_to_test, "ILS-DI                             = $value_to_test" );
847     is( $report->{systempreferences}->{'OAI-PMH'},                           $value_to_test, "OAI-PMH                            = $value_to_test" );
848     is( $report->{systempreferences}->{version},                             $value_to_test, "version                            = $value_to_test" );
849 }
850
851 $dbh->rollback;