Lines 14-20
use C4::Debug;
Link Here
|
14 |
use C4::Bookseller; |
14 |
use C4::Bookseller; |
15 |
use C4::Biblio; |
15 |
use C4::Biblio; |
16 |
use C4::Budgets; |
16 |
use C4::Budgets; |
17 |
use Test::More tests => 35; |
17 |
use Koha::DateUtils; |
|
|
18 |
use Test::More tests => 44; |
18 |
|
19 |
|
19 |
BEGIN { |
20 |
BEGIN { |
20 |
use_ok('C4::Serials'); |
21 |
use_ok('C4::Serials'); |
Lines 180-183
is(C4::Serials::check_routing(), undef, 'test checking route');
Link Here
|
180 |
|
181 |
|
181 |
is(C4::Serials::addroutingmember(),undef, 'test adding route member'); |
182 |
is(C4::Serials::addroutingmember(),undef, 'test adding route member'); |
182 |
|
183 |
|
|
|
184 |
|
185 |
# Unit tests for statuses management (Bug 11689) |
186 |
$subscriptionid = NewSubscription( |
187 |
undef, "", undef, undef, $budget_id, $biblionumber, |
188 |
'2013-01-01', $frequency_id, undef, undef, undef, |
189 |
undef, undef, undef, undef, undef, undef, |
190 |
1, "notes",undef, '2013-01-01', undef, $pattern_id, |
191 |
undef, undef, 0, "intnotes", 0, |
192 |
undef, undef, 0, undef, '2013-12-31', 0 |
193 |
); |
194 |
my $total_issues; |
195 |
( $total_issues, @serials ) = C4::Serials::GetSerials( $subscriptionid ); |
196 |
is( $total_issues, 1, "NewSubscription created a first serial" ); |
197 |
is( @serials, 1, "GetSerials returns the serial" ); |
198 |
my $subscription = C4::Serials::GetSubscription($subscriptionid); |
199 |
my $pattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($subscription->{numberpattern}); |
200 |
( $total_issues, @serials ) = C4::Serials::GetSerials( $subscriptionid ); |
201 |
my $publisheddate = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }); |
202 |
( $total_issues, @serials ) = C4::Serials::GetSerials( $subscriptionid ); |
203 |
my $nextpublisheddate = C4::Serials::GetNextDate($subscription, $publisheddate, 1); |
204 |
my @statuses = qw( 2 2 3 3 3 3 3 4 4 41 42 43 44 5 ); |
205 |
# Add 14 serials |
206 |
my $counter = 0; |
207 |
for my $status ( @statuses ) { |
208 |
my $serialseq = "No.".$counter; |
209 |
my ( $expected_serial ) = GetSerials2( $subscriptionid, 1 ); |
210 |
C4::Serials::ModSerialStatus( $expected_serial->{serialid}, $serialseq, $publisheddate, $publisheddate, $statuses[$counter], 'an useless note' ); |
211 |
$counter++; |
212 |
} |
213 |
# Here we have 15 serials with statuses : 2*2 + 5*3 + 2*4 + 1*41 + 1*42 + 1*43 + 1*44 + 1*5 + 1*1 |
214 |
( $total_issues, @serials ) = C4::Serials::GetSerials( $subscriptionid ); |
215 |
is( $total_issues, @statuses + 1, "GetSerials returns total_issues" ); |
216 |
my @arrived_missing = map { my $status = $_->{status}; ( grep { /^$status$/ } qw( 2 4 41 42 43 44 5 ) ) ? $_ : () } @serials; |
217 |
my @others = map { my $status = $_->{status}; ( grep { /^$status$/ } qw( 2 4 41 42 43 44 5 ) ) ? () : $_ } @serials; |
218 |
is( @arrived_missing, 5, "GetSerials returns 5 arrived/missing by default" ); |
219 |
is( @others, 6, "GetSerials returns all serials not arrived and not missing" ); |
220 |
|
221 |
( $total_issues, @serials ) = C4::Serials::GetSerials( $subscriptionid, 10 ); |
222 |
is( $total_issues, @statuses + 1, "GetSerials returns total_issues" ); |
223 |
@arrived_missing = map { my $status = $_->{status}; ( grep { /^$status$/ } qw( 2 4 41 42 43 44 5 ) ) ? $_ : () } @serials; |
224 |
@others = map { my $status = $_->{status}; ( grep { /^$status$/ } qw( 2 4 41 42 43 44 5 ) ) ? () : $_ } @serials; |
225 |
is( @arrived_missing, 9, "GetSerials returns all arrived/missing if count given" ); |
226 |
is( @others, 6, "GetSerials returns all serials not arrived and not missing if count given" ); |
227 |
|
228 |
$subscription = C4::Serials::GetSubscription($subscriptionid); # Retrieve the updated subscription |
229 |
|
230 |
my @serialseqs; |
231 |
for my $am ( reverse @arrived_missing ) { |
232 |
if ( grep {/^$am->{status}$/} qw( 4 41 42 43 44 5 ) ) { |
233 |
push @serialseqs, $am->{serialseq} |
234 |
} |
235 |
} |
236 |
is( $subscription->{missinglist}, 'not issued ' . join('; ', @serialseqs), "subscription missinglist is updated after ModSerialStatus" ); |
237 |
|
183 |
$dbh->rollback; |
238 |
$dbh->rollback; |
184 |
- |
|
|