Bug 22008: Add tests for new constraints
[koha.git] / t / Circulation_barcodedecode.t
index f76f7fc..dc6fe96 100644 (file)
@@ -1,16 +1,30 @@
 #!/usr/bin/perl
+
+# 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 strict;
-use warnings;
+use Modern::Perl;
 
 use Test::More tests => 26;
-C4::Context->_new_userenv(123456);
-C4::Context->set_userenv(1,'kmkale' , 1, 'kk1' , 'IMS', 0, 'kmkale@anantcorp.com');
 
-BEGIN {
-    use_ok('C4::Circulation');
-}
+use C4::Context;
+use t::lib::Mocks;
+
+use_ok( 'C4::Circulation' );
+
+t::lib::Mocks::mock_userenv({ branchcode => 'IMS' });
 
 our %inputs = (
     cuecat     => ["26002315", '.C3nZC3nZC3nYD3b6ENnZCNnY.fHmc.C3D1Dxr2C3nZE3n7.', ".C3nZC3nZC3nYD3b6ENnZCNnY.fHmc.C3D1Dxr2C3nZE3n7.\r\n",
@@ -29,29 +43,21 @@ our %outputs = (
     EAN13      => [qw(0892685001928 0000000695152)],
     other      => [qw(26002315 T0031472 T32 Alphanum123), "Alpha Num 345"],
 );
-    
+
 my @filters = sort keys %inputs;
 foreach my $filter (@filters) {
     foreach my $datum (@{$inputs{$filter}}) {
-        my $expect = shift @{$outputs{$filter}} or die "Internal Test Error: missing expected output for filter '$filter' on input '$datum'";
+        my $expect = shift @{$outputs{$filter}}
+            or die "Internal Test Error: missing expected output for filter '$filter' on input '$datum'";
         my $output = C4::Circulation::barcodedecode($datum, $filter);
         ok($output eq $expect, sprintf("%12s: %20s => %15s", $filter, "'$datum'", "'$expect'")); 
         ($output eq $expect) or diag  "Bad output: '$output'";
     }
 }
 
-__END__
-
-=head2 C4::Circulation::barcodedecode()
-
-This tests avoids being dependent on the database by using the optional
-second argument to barcodedecode.
-
-T-prefix style is derived from zero-padded "Follett Classic Code 3 of 9".  From:
-    www.fsc.follett.com/_file/File/pdf/Barcode%20Symbology%20Q%20%20A%203_05.pdf
- ~ 1 to 7 characters
- ~ T, P or X followed by numeric characters
- ~ No checkdigit
+# T-prefix style is derived from zero-padded "Follett Classic Code 3 of 9".  From:
+#     www.fsc.follett.com/_file/File/pdf/Barcode%20Symbology%20Q%20%20A%203_05.pdf
+#  ~ 1 to 7 characters
+#  ~ T, P or X followed by numeric characters
+#  ~ No checkdigit
 
-=cut