View | Details | Raw Unified | Return to bug 14778
Collapse All | Expand All

(-)a/t/Barcodes_ValueBuilder.t (-42 / +33 lines)
Lines 1-7 Link Here
1
#!/usr/bin/perl
1
#!/usr/bin/perl
2
use strict;
2
3
use warnings;
3
use Modern::Perl;
4
use DBI;
5
use Test::More tests => 10;
4
use Test::More tests => 10;
6
use Test::MockModule;
5
use Test::MockModule;
7
6
Lines 9-29 BEGIN { Link Here
9
    use_ok('C4::Barcodes::ValueBuilder');
8
    use_ok('C4::Barcodes::ValueBuilder');
10
}
9
}
11
10
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' ;
17
18
sub fixtures {
19
    my ( $data ) = @_;
20
    fixtures_ok [
21
        Item => [
22
            @$data
23
        ],
24
    ], 'add fixtures';
25
}
12
26
13
my $module = new Test::MockModule('C4::Context');
27
my $db = Test::MockModule->new('Koha::Database');
14
$module->mock('_new_dbh', sub {
28
$db->mock(
15
                             my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
29
    _new_schema => sub { return Schema(); }
16
                             || die "Cannot create handle: $DBI::errstr\n";
30
);
17
                             return $dbh });
18
19
# Mock data
20
my $incrementaldata = [
21
    ['max(abs(barcode))'],
22
    ['33333074344563'],
23
];
24
25
31
26
my $dbh = C4::Context->dbh();
27
32
28
my %args = (
33
my %args = (
29
    year        => '2012',
34
    year        => '2012',
Lines 35-77 my %args = ( Link Here
35
    locsubfield => 'a'
40
    locsubfield => 'a'
36
);
41
);
37
42
38
$dbh->{mock_add_resultset} = $incrementaldata;
43
fixtures([
39
my ($nextnum, $scr, $history);
44
    [ qw/ itemnumber barcode / ],
40
45
    [ 1, 33333074344563 ]
41
($nextnum, $scr) = C4::Barcodes::ValueBuilder::incremental::get_barcode(\%args);
46
]);
47
my ($nextnum, $scr) = C4::Barcodes::ValueBuilder::incremental::get_barcode(\%args);
42
is($nextnum, 33333074344564, 'incremental barcode');
48
is($nextnum, 33333074344564, 'incremental barcode');
43
is($scr, undef, 'incremental javascript');
49
is($scr, undef, 'incremental javascript');
44
50
45
# This should run exactly one query so we can test
51
fixtures([
46
$history = $dbh->{mock_all_history};
52
    ['barcode'],
47
is(scalar(@{$history}), 1, 'Correct number of statements executed for incremental barcode') ;
48
49
my $hbyymmincrdata = [
50
    ['number'],
51
    ['890'],
53
    ['890'],
52
];
54
]);
53
55
54
$dbh->{mock_add_resultset} = $hbyymmincrdata;
55
$dbh->{mock_clear_history} = 1;
56
($nextnum, $scr) = C4::Barcodes::ValueBuilder::hbyymmincr::get_barcode(\%args);
56
($nextnum, $scr) = C4::Barcodes::ValueBuilder::hbyymmincr::get_barcode(\%args);
57
is($nextnum, '12070891', 'hbyymmincr barcode');
57
is($nextnum, '12070891', 'hbyymmincr barcode');
58
ok(length($scr) > 0, 'hbyymmincr javascript');
58
ok(length($scr) > 0, 'hbyymmincr javascript');
59
59
60
# This should run exactly one query so we can test
60
fixtures([
61
$history = $dbh->{mock_all_history};
61
    ['barcode'],
62
is(scalar(@{$history}), 1, 'Correct number of statements executed for hbyymmincr barcode') ;
62
    #max(cast( substring_index(barcode, \'-\',-1) as signed))'],
63
64
my $annualdata = [
65
    ['max(cast( substring_index(barcode, \'-\',-1) as signed))'],
66
    ['34'],
63
    ['34'],
67
];
64
]);
68
65
69
$dbh->{mock_add_resultset} = $annualdata;
70
$dbh->{mock_clear_history} = 1;
71
($nextnum, $scr) = C4::Barcodes::ValueBuilder::annual::get_barcode(\%args);
66
($nextnum, $scr) = C4::Barcodes::ValueBuilder::annual::get_barcode(\%args);
72
is($nextnum, '2012-0035', 'annual barcode');
67
is($nextnum, '2012-0035', 'annual barcode');
73
is($scr, undef, 'annual javascript');
68
is($scr, undef, 'annual javascript');
74
75
# This should run exactly one query so we can test
76
$history = $dbh->{mock_all_history};
77
is(scalar(@{$history}), 1, 'Correct number of statements executed for hbyymmincr barcode') ;
(-)a/t/Borrower.t (-1 / +2 lines)
Lines 19-27 use Modern::Perl; Link Here
19
19
20
use Test::More tests => 18;
20
use Test::More tests => 18;
21
use Test::Warn;
21
use Test::Warn;
22
use Koha::Database;
22
use t::lib::Mocks;
23
23
24
BEGIN {
24
BEGIN {
25
    t::lib::Mocks::mock_dbh;
25
    use_ok('Koha::Object');
26
    use_ok('Koha::Object');
26
    use_ok('Koha::Borrower');
27
    use_ok('Koha::Borrower');
27
}
28
}
(-)a/t/Circulation_barcodedecode.t (-9 / +8 lines)
Lines 16-34 Link Here
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
use Test::More tests => 25;
20
use Test::More tests => 26;
21
use t::lib::Mocks;
20
use t::lib::Mocks;
21
use C4::Circulation;
22
use C4::Context;
23
24
BEGIN {
25
    t::lib::Mocks::mock_dbh;
26
};
22
27
23
C4::Context->_new_userenv(123456);
28
C4::Context->_new_userenv(123456);
24
C4::Context->set_userenv(1,'kmkale' , 1, 'km', 'kale' , 'IMS', 'IMS Branch DEscription', 0, 'kmkale@anantcorp.com');
29
C4::Context->set_userenv(1,'kmkale' , 1, 'km', 'kale' , 'IMS', 'IMS Branch DEscription', 0, 'kmkale@anantcorp.com');
25
30
26
BEGIN {
27
    # Mock the DB connexion and C4::Context
28
    my $context = t::lib::Mocks::mock_dbh;
29
    use_ok('C4::Circulation');
30
}
31
32
our %inputs = (
31
our %inputs = (
33
    cuecat     => ["26002315", '.C3nZC3nZC3nYD3b6ENnZCNnY.fHmc.C3D1Dxr2C3nZE3n7.', ".C3nZC3nZC3nYD3b6ENnZCNnY.fHmc.C3D1Dxr2C3nZE3n7.\r\n",
32
    cuecat     => ["26002315", '.C3nZC3nZC3nYD3b6ENnZCNnY.fHmc.C3D1Dxr2C3nZE3n7.', ".C3nZC3nZC3nYD3b6ENnZCNnY.fHmc.C3D1Dxr2C3nZE3n7.\r\n",
34
                    'q.C3nZC3nZC3nWDNzYDxf2CNnY.fHmc.C3DWC3nZCNjXD3nW.', '.C3nZC3nZC3nWCxjWE3D1C3nX.cGf2.ENr7C3v7D3T3ENj3C3zYDNnZ.' ],
33
                    'q.C3nZC3nZC3nWDNzYDxf2CNnY.fHmc.C3DWC3nZCNjXD3nW.', '.C3nZC3nZC3nWCxjWE3D1C3nX.cGf2.ENr7C3v7D3T3ENj3C3zYDNnZ.' ],
Lines 46-52 our %outputs = ( Link Here
46
    EAN13      => [qw(0892685001928 0000000695152)],
45
    EAN13      => [qw(0892685001928 0000000695152)],
47
    other      => [qw(26002315 T0031472 T32 Alphanum123), "Alpha Num 345"],
46
    other      => [qw(26002315 T0031472 T32 Alphanum123), "Alpha Num 345"],
48
);
47
);
49
    
48
50
my @filters = sort keys %inputs;
49
my @filters = sort keys %inputs;
51
foreach my $filter (@filters) {
50
foreach my $filter (@filters) {
52
    foreach my $datum (@{$inputs{$filter}}) {
51
    foreach my $datum (@{$inputs{$filter}}) {
(-)a/t/Members/cardnumber.t (-11 / +3 lines)
Lines 3-23 Link Here
3
use Modern::Perl;
3
use Modern::Perl;
4
use Test::More tests => 23;
4
use Test::More tests => 23;
5
5
6
use Test::MockModule;
7
use DBD::Mock;
8
use t::lib::Mocks;
6
use t::lib::Mocks;
9
7
10
use_ok('C4::Members');
8
use_ok('C4::Members');
11
9
12
my $module_context = new Test::MockModule('C4::Context');
10
BEGIN {
13
$module_context->mock(
11
    t::lib::Mocks::mock_dbh;
14
    '_new_dbh',
12
}
15
    sub {
16
        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
17
          || die "Cannot create handle: $DBI::errstr\n";
18
        return $dbh;
19
    }
20
);
21
13
22
my $dbh = C4::Context->dbh;
14
my $dbh = C4::Context->dbh;
23
my $rs = [];
15
my $rs = [];
(-)a/t/db_dependent/Circulation_issuingrules.t (-36 / +10 lines)
Lines 6-18 use Test::More tests => 7; Link Here
6
use Test::MockModule;
6
use Test::MockModule;
7
use DBI;
7
use DBI;
8
use DateTime;
8
use DateTime;
9
use t::lib::Mocks;
9
10
10
my $contextmodule = new Test::MockModule('C4::Context');
11
BEGIN {
11
$contextmodule->mock('_new_dbh', sub {
12
    t::lib::Mocks::mock_dbh;
12
    my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
13
}
13
    || die "Cannot create handle: $DBI::errstr\n";
14
    return $dbh
15
});
16
14
17
use_ok('C4::Circulation');
15
use_ok('C4::Circulation');
18
16
Lines 60-75 is_deeply($loanlength, $default, 'none matches'); Link Here
60
#=== CalcDateDue
58
#=== CalcDateDue
61
59
62
#Set syspref ReturnBeforeExpiry = 1 and useDaysMode = 'Days'
60
#Set syspref ReturnBeforeExpiry = 1 and useDaysMode = 'Days'
63
$contextmodule->mock('preference', sub {
61
t::lib::Mocks::mock_preference('ReturnBeforeExpiry', 1);
64
    my ($self, $syspref) = @_;
62
t::lib::Mocks::mock_preference('useDaysMode', 'Days');
65
    if ( $syspref eq "ReturnBeforeExpiry" ) {
66
        return 1;
67
    } elsif ( $syspref eq "useDaysMode" ) {
68
        return 'Days';
69
    } else {
70
        return;
71
    }
72
});
73
63
74
my $dateexpiry = '2013-01-01';
64
my $dateexpiry = '2013-01-01';
75
65
Lines 83-98 $date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borr Link Here
83
73
84
74
85
#Set syspref ReturnBeforeExpiry = 1 and useDaysMode != 'Days'
75
#Set syspref ReturnBeforeExpiry = 1 and useDaysMode != 'Days'
86
$contextmodule->mock('preference', sub {
76
t::lib::Mocks::mock_preference('ReturnBeforeExpiry', 1);
87
    my ($self, $syspref) = @_;
77
t::lib::Mocks::mock_preference('useDaysMode', 'noDays');
88
    if ( $syspref eq "ReturnBeforeExpiry" ) {
89
        return 1;
90
    } elsif ( $syspref eq "useDaysMode" ) {
91
        return 'noDays';
92
    } else {
93
        return;
94
    }
95
});
96
78
97
$borrower = {categorycode => 'B', dateexpiry => $dateexpiry};
79
$borrower = {categorycode => 'B', dateexpiry => $dateexpiry};
98
$start_date = DateTime->new({year => 2013, month => 2, day => 9});
80
$start_date = DateTime->new({year => 2013, month => 2, day => 9});
Lines 105-120 $date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borr Link Here
105
87
106
88
107
#Set syspref ReturnBeforeExpiry = 0 and useDaysMode = 'Days'
89
#Set syspref ReturnBeforeExpiry = 0 and useDaysMode = 'Days'
108
$contextmodule->mock('preference', sub {
90
t::lib::Mocks::mock_preference('ReturnBeforeExpiry', 0);
109
    my ($self, $syspref) = @_;
91
t::lib::Mocks::mock_preference('useDaysMode', 'Days');
110
    if ( $syspref eq "ReturnBeforeExpiry" ) {
111
        return 0;
112
    } elsif ( $syspref eq "useDaysMode" ) {
113
        return 'Days';
114
    } else {
115
        return;
116
    }
117
});
118
92
119
$borrower = {categorycode => 'B', dateexpiry => $dateexpiry};
93
$borrower = {categorycode => 'B', dateexpiry => $dateexpiry};
120
$start_date = DateTime->new({year => 2013, month => 2, day => 9});
94
$start_date = DateTime->new({year => 2013, month => 2, day => 9});
(-)a/t/db_dependent/Context.t (-9 / +2 lines)
Lines 6-11 use warnings; Link Here
6
use Test::More;
6
use Test::More;
7
use Test::MockModule;
7
use Test::MockModule;
8
use vars qw($debug $koha $dbh $config $ret);
8
use vars qw($debug $koha $dbh $config $ret);
9
use t::lib::Mocks;
9
10
10
use Koha::Database;
11
use Koha::Database;
11
12
Lines 63-77 foreach (sort @keys) { Link Here
63
ok($config = $koha->{config}, 'Getting $koha->{config} ');
64
ok($config = $koha->{config}, 'Getting $koha->{config} ');
64
65
65
# Testing syspref caching
66
# Testing syspref caching
66
my $module = new Test::MockModule('C4::Context');
67
t::lib::Mocks::mock_dbh;
67
$module->mock(
68
    '_new_dbh',
69
    sub {
70
        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
71
          || die "Cannot create handle: $DBI::errstr\n";
72
        return $dbh;
73
    }
74
);
75
68
76
my $history;
69
my $history;
77
70
(-)a/t/db_dependent/ReportsGuided.t (-16 / +6 lines)
Lines 4-25 use Modern::Perl; Link Here
4
4
5
use Test::More tests => 13;
5
use Test::More tests => 13;
6
use Test::MockModule;
6
use Test::MockModule;
7
use DBD::Mock;
7
8
use t::lib::Mocks;
8
9
9
use_ok('C4::Reports::Guided');
10
use_ok('C4::Reports::Guided');
10
11
11
my $context = new Test::MockModule('C4::Context');
12
my $context = new Test::MockModule('C4::Context');
12
my $koha = new Test::MockModule('C4::Koha');
13
my $koha = new Test::MockModule('C4::Koha');
13
14
14
$context->mock(
15
BEGIN {
15
    '_new_dbh',
16
    t::lib::Mocks::mock_dbh;
16
    sub {
17
}
17
        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
18
          || die "Cannot create handle: $DBI::errstr\n";
19
        return $dbh;
20
    }
21
);
22
23
18
24
sub MockedIsAuthorisedValueCategory {
19
sub MockedIsAuthorisedValueCategory {
25
    my $authorised_value = shift;
20
    my $authorised_value = shift;
Lines 53-63 $koha->mock( Link Here
53
                'GetReservedAuthorisedValues returns a fixed list');
48
                'GetReservedAuthorisedValues returns a fixed list');
54
}
49
}
55
50
56
SKIP: {
51
{
57
58
    skip "DBD::Mock is too old", 8
59
        unless $DBD::Mock::VERSION >= 1.45;
60
61
    ok( IsAuthorisedValueValid('LOC'),
52
    ok( IsAuthorisedValueValid('LOC'),
62
        'User defined authorised value category is valid');
53
        'User defined authorised value category is valid');
63
54
64
- 

Return to bug 14778