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

(-)a/C4/Installer/PerlDependencies.pm (+5 lines)
Lines 767-772 our $PERL_DEPS = { Link Here
767
        'required' => '0',
767
        'required' => '0',
768
        'min_ver'  => '0.614',
768
        'min_ver'  => '0.614',
769
    },
769
    },
770
    'Time::Fake'   => {
771
        'usage'    => 'Test code coverage',
772
        'required' => '0',
773
        'min_ver'  => '0.11',
774
    }
770
};
775
};
771
776
772
1;
777
1;
(-)a/t/Circulation/AgeRestrictionMarkers.t (-17 / +48 lines)
Lines 1-8 Link Here
1
#!/usr/bin/perl
1
#!/usr/bin/perl
2
2
3
use Modern::Perl;
3
use Modern::Perl;
4
4
use DateTime;
5
use DateTime;
5
use Test::More tests => 10;
6
use Test::More tests => 7;
6
7
7
use t::lib::Mocks;
8
use t::lib::Mocks;
8
9
Lines 16-34 is ( C4::Circulation::GetAgeRestriction('PEGI16'), '16', 'PEGI16 returns 16' ); Link Here
16
is ( C4::Circulation::GetAgeRestriction('Age 16'), '16', 'Age 16 returns 16' );
17
is ( C4::Circulation::GetAgeRestriction('Age 16'), '16', 'Age 16 returns 16' );
17
is ( C4::Circulation::GetAgeRestriction('K16'), '16', 'K16 returns 16' );
18
is ( C4::Circulation::GetAgeRestriction('K16'), '16', 'K16 returns 16' );
18
19
20
subtest 'Patron tests - 15 years old (+0)' => sub {
21
    plan tests => 5;
22
    ##Testing age restriction for a borrower.
23
    my $now = DateTime->now();
24
    my $borrower = {};
25
    C4::Members::SetAge( $borrower, '0015-00-00' );
26
    PEGI15($borrower,0);
27
};
28
29
subtest 'Patron tests - 15 years old (+1 - +23)' => sub {
30
    my $CheckTimeFake = eval { require Time::Fake; 1; } || 0;
31
    SKIP: {
32
        skip "Install Time::Fake to regression test for Bug 14362.", 115 if $CheckTimeFake!=1;
33
        # 115 regression tests = 5 tests (see PEGI15) for 23 timezones.
34
        plan tests => 115;
35
        my $offset = 1;
36
        # <24 hours in a day.
37
        while ($offset<24) {
38
            Time::Fake->offset("+${offset}h");
39
40
            ##Testing age restriction for a borrower.
41
            my $now = DateTime->now();
42
            my $borrower = {};
43
            C4::Members::SetAge( $borrower, '0015-00-00' );
44
            PEGI15($borrower,$offset);
45
46
            $offset++;
47
        }
48
    }
49
};
50
51
# The 15 year old tests.
52
sub PEGI15 {
53
    my ($borrower,$offset) = @_;
19
54
20
##Testing age restriction for a borrower.
55
    my ($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('FSK 16', $borrower);
21
my $now = DateTime->now();
56
    is ( ($daysToAgeRestriction > 0), 1, "FSK 16 blocked for a 15 year old - $offset hours" );
22
my $borrower = {};
57
    ($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('PEGI 15', $borrower);
23
C4::Members::SetAge( $borrower, '0015-00-00' );
58
    is ( ($daysToAgeRestriction <= 0), 1, "PEGI 15 allowed for a 15 year old - $offset hours" );
24
59
    ($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('PEGI14', $borrower);
25
my ($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('FSK 16', $borrower);
60
    is ( ($daysToAgeRestriction <= 0), 1, "PEGI14 allowed for a 15 year old - $offset hours" );
26
is ( ($daysToAgeRestriction > 0), 1, 'FSK 16 blocked for a 15 year old' );
61
    ($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('Age 10', $borrower);
27
($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('PEGI 15', $borrower);
62
    is ( ($daysToAgeRestriction <= 0), 1, "Age 10 allowed for a 15 year old - $offset hours" );
28
is ( ($daysToAgeRestriction <= 0), 1, 'PEGI 15 allowed for a 15 year old' );
63
    ($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('K18', $borrower);
29
($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('PEGI14', $borrower);
64
    is ( ($daysToAgeRestriction > 0), 1, "K18 blocked for a 15 year old - $offset hours" );
30
is ( ($daysToAgeRestriction <= 0), 1, 'PEGI14 allowed for a 15 year old' );
65
    return;
31
($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('Age 10', $borrower);
66
}
32
is ( ($daysToAgeRestriction <= 0), 1, 'Age 10 allowed for a 15 year old' );
33
($restriction_age, $daysToAgeRestriction) = C4::Circulation::GetAgeRestriction('K18', $borrower);
34
is ( ($daysToAgeRestriction > 0), 1, 'K18 blocked for a 15 year old' );
35
- 

Return to bug 14362