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

(-)a/t/db_dependent/Serials/GetFictiveIssueNumber.t (-2 / +42 lines)
Lines 3-9 Link Here
3
# This test deals with GetFictiveIssueNumber (from C4::Serials)
3
# This test deals with GetFictiveIssueNumber (from C4::Serials)
4
4
5
use Modern::Perl;
5
use Modern::Perl;
6
use Test::More tests => 2;
6
use Test::More tests => 3;
7
7
8
use Koha::Database;
8
use Koha::Database;
9
use C4::Serials;
9
use C4::Serials;
Lines 92-98 subtest 'Tests for yearly frequencies' => sub { Link Here
92
92
93
};
93
};
94
94
95
# TODO: subtest 'Tests for monthly frequencies' => sub {
95
subtest 'Tests for monthly frequencies' => sub {
96
    plan tests => 8;
97
98
    # First add a few frequencies
99
    my $freq_1i_5m = AddSubscriptionFrequency({
100
        description => "1 issue per 5 months",
101
        unit => 'month',
102
        issuesperunit => 1,
103
        unitsperissue => 5,
104
    });
105
    my $freq_4i_1m = AddSubscriptionFrequency({
106
        description => "4 issue per month",
107
        unit => 'month',
108
        issuesperunit => 4,
109
        unitsperissue => 1,
110
    });
111
112
    # TEST CASE - 1 issue per 5 months
113
    my $subscription = {
114
        periodicity => $freq_1i_5m,
115
        firstacquidate => '1972-02-10',
116
        countissuesperunit => 1,
117
    };
118
    is( C4::Serials::GetFictiveIssueNumber($subscription, '1972-07-09'), 1, 'Jul 9 still 1' );
119
    is( C4::Serials::GetFictiveIssueNumber($subscription, '1972-07-10'), 2, 'Jul 10 goes to 2' );
120
    is( C4::Serials::GetFictiveIssueNumber($subscription, '1973-05-09'), 3, 'May 9 still 3' );
121
    is( C4::Serials::GetFictiveIssueNumber($subscription, '1973-05-10'), 4, 'May 10 goes to 4' );
122
123
    # TEST CASE - 4 issue per 1 months
124
    $subscription = {
125
        periodicity => $freq_4i_1m,
126
        firstacquidate => '1972-02-22',
127
        countissuesperunit => 1,
128
    };
129
    is( C4::Serials::GetFictiveIssueNumber($subscription, '1972-02-28'), 1, 'Feb 28 still 1' );
130
    is( C4::Serials::GetFictiveIssueNumber($subscription, '1972-02-29'), 2, 'Feb 29 goes to 2' );
131
    is( C4::Serials::GetFictiveIssueNumber($subscription, '1972-03-21'), 4, 'Mar 21 still 4' );
132
    is( C4::Serials::GetFictiveIssueNumber($subscription, '1972-03-22'), 5, 'Mar 22 goes to 5' );
133
134
};
135
96
# TODO: subtest 'Tests for weekly frequencies' => sub {
136
# TODO: subtest 'Tests for weekly frequencies' => sub {
97
# TODO: subtest 'Tests for dayly frequencies' => sub {
137
# TODO: subtest 'Tests for dayly frequencies' => sub {
98
138
(-)a/t/db_dependent/Serials/GetNextDate.t (-10 / +9 lines)
Lines 372-384 $subscription = { Link Here
372
};
372
};
373
$publisheddate = $subscription->{firstacquidate};
373
$publisheddate = $subscription->{firstacquidate};
374
$publisheddate = GetNextDate($subscription, $publisheddate);
374
$publisheddate = GetNextDate($subscription, $publisheddate);
375
is($publisheddate, '1970-01-16', 'January has 31 days');
375
is($publisheddate, '1970-01-16', 'Jan 16');
376
$publisheddate = GetNextDate($subscription, $publisheddate);
376
$publisheddate = GetNextDate($subscription, $publisheddate);
377
is($publisheddate, '1970-02-01');
377
is($publisheddate, '1970-02-01', 'Feb 1');
378
$publisheddate = GetNextDate($subscription, $publisheddate);
378
$publisheddate = GetNextDate($subscription, $publisheddate);
379
is($publisheddate, '1970-02-15', 'February has only 28 days');
379
is($publisheddate, '1970-02-16', 'Feb 16');
380
$publisheddate = GetNextDate($subscription, $publisheddate);
380
$publisheddate = GetNextDate($subscription, $publisheddate);
381
is($publisheddate, '1970-03-01');
381
is($publisheddate, '1970-03-01', 'Mar 1' );
382
382
383
# TEST CASE - 2 issues per month, irregularities
383
# TEST CASE - 2 issues per month, irregularities
384
$subscription = {
384
$subscription = {
Lines 389-403 $subscription = { Link Here
389
};
389
};
390
$publisheddate = $subscription->{firstacquidate};
390
$publisheddate = $subscription->{firstacquidate};
391
$publisheddate = GetNextDate($subscription, $publisheddate);
391
$publisheddate = GetNextDate($subscription, $publisheddate);
392
is($publisheddate, '1970-01-16', 'January has 31 days');
392
is($publisheddate, '1970-01-16', 'Jan 16' );
393
$publisheddate = GetNextDate($subscription, $publisheddate);
393
$publisheddate = GetNextDate($subscription, $publisheddate);
394
is($publisheddate, '1970-02-15', 'February has only 28 days');
394
is($publisheddate, '1970-02-16', 'Feb 16 (skipping Feb 1)' );
395
$publisheddate = GetNextDate($subscription, $publisheddate);
395
$publisheddate = GetNextDate($subscription, $publisheddate);
396
is($publisheddate, '1970-04-01');
396
is($publisheddate, '1970-04-01', 'Apr 1 (skipping Mar 1 and 16)' );
397
$publisheddate = GetNextDate($subscription, $publisheddate);
397
$publisheddate = GetNextDate($subscription, $publisheddate);
398
is($publisheddate, '1970-04-16', 'April has 30 days');
398
is($publisheddate, '1970-04-16', 'Apr 16' );
399
$publisheddate = GetNextDate($subscription, $publisheddate);
399
$publisheddate = GetNextDate($subscription, $publisheddate);
400
is($publisheddate, '1970-05-01');
400
is($publisheddate, '1970-05-01', 'May 1' );
401
401
402
# TEST CASE - 1 issue per year, no irregularity
402
# TEST CASE - 1 issue per year, no irregularity
403
$id = AddSubscriptionFrequency({
403
$id = AddSubscriptionFrequency({
404
- 

Return to bug 18607