Jonathan Druart
c6691e34ba
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
68 lines
1.5 KiB
Perl
68 lines
1.5 KiB
Perl
#!/usr/bin/perl
|
|
|
|
use Modern::Perl;
|
|
use Test::More tests => 10;
|
|
use Test::MockModule;
|
|
|
|
BEGIN {
|
|
use_ok('C4::Barcodes::ValueBuilder');
|
|
}
|
|
|
|
use Test::DBIx::Class {
|
|
schema_class => 'Koha::Schema',
|
|
connect_info => ['dbi:SQLite:dbname=:memory:','',''],
|
|
connect_opts => { name_sep => '.', quote_char => '`', },
|
|
fixture_class => '::Populate',
|
|
}, 'Biblio' ;
|
|
|
|
sub fixtures {
|
|
my ( $data ) = @_;
|
|
fixtures_ok [
|
|
Item => [
|
|
@$data
|
|
],
|
|
], 'add fixtures';
|
|
}
|
|
|
|
my $db = Test::MockModule->new('Koha::Database');
|
|
$db->mock(
|
|
_new_schema => sub { return Schema(); }
|
|
);
|
|
|
|
|
|
my %args = (
|
|
year => '2012',
|
|
mon => '07',
|
|
day => '30',
|
|
tag => '952',
|
|
subfield => 'p',
|
|
loctag => '952',
|
|
locsubfield => 'a'
|
|
);
|
|
|
|
fixtures([
|
|
[ qw/ itemnumber barcode / ],
|
|
[ 1, 33333074344563 ]
|
|
]);
|
|
my ($nextnum, $scr) = C4::Barcodes::ValueBuilder::incremental::get_barcode(\%args);
|
|
is($nextnum, 33333074344564, 'incremental barcode');
|
|
is($scr, undef, 'incremental javascript');
|
|
|
|
fixtures([
|
|
['barcode'],
|
|
['890'],
|
|
]);
|
|
|
|
($nextnum, $scr) = C4::Barcodes::ValueBuilder::hbyymmincr::get_barcode(\%args);
|
|
is($nextnum, '12070891', 'hbyymmincr barcode');
|
|
ok(length($scr) > 0, 'hbyymmincr javascript');
|
|
|
|
fixtures([
|
|
['barcode'],
|
|
#max(cast( substring_index(barcode, \'-\',-1) as signed))'],
|
|
['34'],
|
|
]);
|
|
|
|
($nextnum, $scr) = C4::Barcodes::ValueBuilder::annual::get_barcode(\%args);
|
|
is($nextnum, '2012-0035', 'annual barcode');
|
|
is($scr, undef, 'annual javascript');
|