Bug 14778: Install fixtures for t/ItemType.t
[koha.git] / t / Barcodes_ValueBuilder.t
blobda901015d6a5daa3c73a8683111cac3453d23e7d
1 #!/usr/bin/perl
3 use Modern::Perl;
4 use Test::More tests => 10;
5 use Test::MockModule;
7 BEGIN {
8 use_ok('C4::Barcodes::ValueBuilder');
11 use Test::DBIx::Class {
12 schema_class => 'Koha::Schema',
13 connect_info => ['dbi:SQLite:dbname=:memory:','',''],
14 connect_opts => { name_sep => '.', quote_char => '`', },
15 fixture_class => '::Populate',
16 }, 'Biblio' ;
18 sub fixtures {
19 my ( $data ) = @_;
20 fixtures_ok [
21 Item => [
22 @$data
24 ], 'add fixtures';
27 my $db = Test::MockModule->new('Koha::Database');
28 $db->mock(
29 _new_schema => sub { return Schema(); }
33 my %args = (
34 year => '2012',
35 mon => '07',
36 day => '30',
37 tag => '952',
38 subfield => 'p',
39 loctag => '952',
40 locsubfield => 'a'
43 fixtures([
44 [ qw/ itemnumber barcode / ],
45 [ 1, 33333074344563 ]
46 ]);
47 my ($nextnum, $scr) = C4::Barcodes::ValueBuilder::incremental::get_barcode(\%args);
48 is($nextnum, 33333074344564, 'incremental barcode');
49 is($scr, undef, 'incremental javascript');
51 fixtures([
52 ['barcode'],
53 ['890'],
54 ]);
56 ($nextnum, $scr) = C4::Barcodes::ValueBuilder::hbyymmincr::get_barcode(\%args);
57 is($nextnum, '12070891', 'hbyymmincr barcode');
58 ok(length($scr) > 0, 'hbyymmincr javascript');
60 fixtures([
61 ['barcode'],
62 #max(cast( substring_index(barcode, \'-\',-1) as signed))'],
63 ['34'],
64 ]);
66 ($nextnum, $scr) = C4::Barcodes::ValueBuilder::annual::get_barcode(\%args);
67 is($nextnum, '2012-0035', 'annual barcode');
68 is($scr, undef, 'annual javascript');