4 use Test::More tests => 18;
7 my $dbh = C4::Context->dbh;
8 $dbh->{RaiseError} = 1;
9 $dbh->{AutoCommit} = 0;
11 use C4::Serials::Frequency;
14 # TEST CASE - 1 issue per day, no irregularities
16 description => "One issue per day",
23 firstacquidate => '1970-01-01',
25 countissuesperunit => 1,
30 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
31 is( $issueNumber, '1' );
34 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
35 is( $issueNumber, '2' );
37 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-03', $frequency );
38 is( $issueNumber, '3' );
40 # TEST CASE - 2 issues per day, no irregularity
42 description => "Two issues per day",
48 firstacquidate => '1970-01-01',
50 countissuesperunit => 1,
53 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
54 is( $issueNumber, '1' );
56 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
57 is( $issueNumber, '3' );
59 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-03', $frequency );
60 is( $issueNumber, '5' );
62 $subscription->{countissuesperunit} = 2;
64 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
65 is( $issueNumber, '2' );
67 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
68 is( $issueNumber, '4' );
70 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-03', $frequency );
71 is( $issueNumber, '6' );
73 # TEST CASE - 1 issue every 2 days, no irregularity
75 description => "one issue every two days",
81 firstacquidate => '1970-01-01',
83 countissuesperunit => 1,
86 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
87 is( $issueNumber, 1 );
89 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
90 is( $issueNumber, 1 );
92 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-03', $frequency );
93 is( $issueNumber, 2 );
95 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-04', $frequency );
96 is( $issueNumber, 2 );
98 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-05', $frequency );
99 is( $issueNumber, 3 );
101 # TEST CASE - 1 issue per week, no irregularity
103 description => "one issue per week",
109 firstacquidate => '1970-01-01',
111 countissuesperunit => 1,
114 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
115 is( $issueNumber, 1 );
117 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
118 is( $issueNumber, 1 );
120 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-08', $frequency );
121 is( $issueNumber, 2 );
123 C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-15', $frequency );
124 is( $issueNumber, 3 );