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

(-)a/t/db_dependent/Koha/Patrons.t (-1 / +70 lines)
Lines 19-31 Link Here
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Test::More tests => 23;
22
use Test::More tests => 24;
23
use Test::Warn;
23
use Test::Warn;
24
use Time::Fake;
24
use Time::Fake;
25
use DateTime;
25
use DateTime;
26
26
27
use C4::Biblio;
27
use C4::Biblio;
28
use C4::Circulation;
28
use C4::Circulation;
29
29
use C4::Members;
30
use C4::Members;
30
use C4::Circulation;
31
use C4::Circulation;
31
32
Lines 955-960 subtest 'account_locked' => sub { Link Here
955
    $patron->delete;
956
    $patron->delete;
956
};
957
};
957
958
959
subtest 'get_overdues' => sub {
960
    plan tests => 7;
961
962
    my $library = $builder->build( { source => 'Branch' } );
963
    my ($biblionumber_1) = AddBiblio( MARC::Record->new, '' );
964
    my $item_1 = $builder->build(
965
        {
966
            source => 'Item',
967
            value  => {
968
                homebranch    => $library->{branchcode},
969
                holdingbranch => $library->{branchcode},
970
                biblionumber  => $biblionumber_1
971
            }
972
        }
973
    );
974
    my $item_2 = $builder->build(
975
        {
976
            source => 'Item',
977
            value  => {
978
                homebranch    => $library->{branchcode},
979
                holdingbranch => $library->{branchcode},
980
                biblionumber  => $biblionumber_1
981
            }
982
        }
983
    );
984
    my ($biblionumber_2) = AddBiblio( MARC::Record->new, '' );
985
    my $item_3 = $builder->build(
986
        {
987
            source => 'Item',
988
            value  => {
989
                homebranch    => $library->{branchcode},
990
                holdingbranch => $library->{branchcode},
991
                biblionumber  => $biblionumber_2
992
            }
993
        }
994
    );
995
    my $patron = $builder->build(
996
        {
997
            source => 'Borrower',
998
            value  => { branchcode => $library->{branchcode} }
999
        }
1000
    );
1001
1002
    my $module = new Test::MockModule('C4::Context');
1003
    $module->mock( 'userenv', sub { { branch => $library->{branchcode} } } );
1004
1005
    AddIssue( $patron, $item_1->{barcode}, DateTime->now->subtract( days => 1 ) );
1006
    AddIssue( $patron, $item_2->{barcode}, DateTime->now->subtract( days => 5 ) );
1007
    AddIssue( $patron, $item_3->{barcode} );
1008
1009
    $patron = Koha::Patrons->find( $patron->{borrowernumber} );
1010
    my $overdues = $patron->get_overdues;
1011
    is( $overdues->count, 2, 'Patron should have 2 overdues');
1012
    is( $overdues->next->itemnumber, $item_1->{itemnumber}, 'The issue should be returned in the same order as they have been done, first is correct' );
1013
    is( $overdues->next->itemnumber, $item_2->{itemnumber}, 'The issue should be returned in the same order as they have been done, second is correct' );
1014
1015
    my $o = $overdues->reset->next;
1016
    my $unblessed_overdue = $o->unblessed_all_relateds;
1017
    is( exists( $unblessed_overdue->{issuedate} ), 1, 'Fields from the issues table should be filled' );
1018
    is( exists( $unblessed_overdue->{itemcallnumber} ), 1, 'Fields from the items table should be filled' );
1019
    is( exists( $unblessed_overdue->{title} ), 1, 'Fields from the biblio table should be filled' );
1020
    is( exists( $unblessed_overdue->{itemtype} ), 1, 'Fields from the biblioitems table should be filled' );
1021
1022
    # Clean stuffs
1023
    $patron->checkouts->delete;
1024
    $patron->delete;
1025
};
1026
958
$retrieved_patron_1->delete;
1027
$retrieved_patron_1->delete;
959
is( Koha::Patrons->search->count, $nb_of_patrons + 1, 'Delete should have deleted the patron' );
1028
is( Koha::Patrons->search->count, $nb_of_patrons + 1, 'Delete should have deleted the patron' );
960
1029
(-)a/t/db_dependent/Members/GetOverdues.t (-81 lines)
Lines 1-80 Link Here
1
#!/usr/bin/perl
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Test::More tests => 3;
21
use Test::MockModule;
22
23
use t::lib::TestBuilder;
24
25
use C4::Biblio;
26
use C4::Items;
27
use C4::Members;
28
use C4::Circulation;
29
use Koha::Libraries;
30
use Koha::Patrons;
31
use MARC::Record;
32
33
my $schema = Koha::Database->schema;
34
my $dbh = C4::Context->dbh;
35
$schema->storage->txn_begin;
36
37
my $builder = t::lib::TestBuilder->new;
38
39
$dbh->do(q|DELETE FROM issues|);
40
$dbh->do(q|DELETE FROM borrowers|);
41
$dbh->do(q|DELETE FROM items|);
42
$dbh->do(q|DELETE FROM branches|);
43
$dbh->do(q|DELETE FROM biblio|);
44
$dbh->do(q|DELETE FROM categories|);
45
46
my $branchcode   = $builder->build( { source => 'Branch' } )->{branchcode};
47
my $categorycode = $builder->build( { source => 'Category' } )->{categorycode};
48
my $itemtype     = $builder->build( { source => 'Itemtype' } )->{itemtype};
49
50
my %item_infos = (
51
    homebranch    => $branchcode,
52
    holdingbranch => $branchcode,
53
    itype         => $itemtype
54
);
55
56
my ($biblionumber1) = AddBiblio( MARC::Record->new, '' );
57
my $itemnumber1 =
58
  AddItem( { barcode => '0101', %item_infos }, $biblionumber1 );
59
my $itemnumber2 =
60
  AddItem( { barcode => '0102', %item_infos }, $biblionumber1 );
61
62
my ($biblionumber2) = AddBiblio( MARC::Record->new, '' );
63
my $itemnumber3 =
64
  AddItem( { barcode => '0103', %item_infos }, $biblionumber2 );
65
66
my $borrowernumber =
67
  AddMember( categorycode => $categorycode, branchcode => $branchcode );
68
my $borrower = Koha::Patrons->find( $borrowernumber )->unblessed;
69
70
my $module = new Test::MockModule('C4::Context');
71
$module->mock( 'userenv', sub { { branch => $branchcode } } );
72
73
AddIssue( $borrower, '0101', DateTime->now->subtract( days =>  1 ) );
74
AddIssue( $borrower, '0102', DateTime->now->subtract( days =>  5 ) );
75
AddIssue( $borrower, '0103' );
76
77
my $overdues = C4::Members::GetOverduesForPatron( $borrowernumber );
78
is( @$overdues, 2, 'GetOverduesForPatron returns the correct number of elements' );
79
is( $overdues->[0]->{itemnumber}, $itemnumber1, 'First overdue is correct' );
80
is( $overdues->[1]->{itemnumber}, $itemnumber2, 'Second overdue is correct' );
81
- 

Return to bug 17553