From 0d6b4601fa40028f09c9e87325ce6e6ec10604f8 Mon Sep 17 00:00:00 2001 From: Florent Mara Date: Tue, 24 May 2016 14:10:32 +1200 Subject: [PATCH] Bug 12178: Tests for changes to claimed serial status --- t/db_dependent/Serials.t | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Serials.t b/t/db_dependent/Serials.t index 0f77c77..4e4d0cf 100644 --- a/t/db_dependent/Serials.t +++ b/t/db_dependent/Serials.t @@ -15,7 +15,7 @@ use C4::Bookseller; use C4::Biblio; use C4::Budgets; use Koha::DateUtils; -use Test::More tests => 43; +use Test::More tests => 45; BEGIN { use_ok('C4::Serials'); @@ -27,6 +27,10 @@ my $dbh = C4::Context->dbh; $dbh->{AutoCommit} = 0; $dbh->{RaiseError} = 1; +# This could/should be used for all untested methods +my @methods = ('updateClaim'); +can_ok('C4::Serials', @methods); + my $booksellerid = C4::Bookseller::AddBookseller( { name => "my vendor", @@ -179,6 +183,47 @@ is(C4::Serials::HasSubscriptionExpired(), undef, 'test if the subscriptions has is(C4::Serials::GetLateOrMissingIssues(), undef, 'test getting last or missing issues'); +subtest 'test_updateClaim' => sub { + plan tests => 11; + + # Given ... nothing much + # When ... Then ... + my $result_0 = C4::Serials::updateClaim(undef); + is($result_0, undef, 'Got the expected undef from update claim with nothin'); + + # Given ... 3 serial. 2 of them updated. + my $serialids_1 = [90980, 90981]; + my $claimdate_1 = '2001/01/13'; # arbitrary date some time in the past. + my $claim_count_1 = 5; + Koha::Serial->new( { serialid => $serialids_1->[0], serialseq => 'serialseq', subscriptionid => $subscriptionid, status => 3, + biblionumber => 12345, claimdate => $claimdate_1, claims_count => $claim_count_1, } )->store(); + Koha::Serial->new( { serialid => $serialids_1->[1], serialseq => 'serialseq', subscriptionid => $subscriptionid, status => 3, + biblionumber => 12345, claimdate => $claimdate_1, claims_count => $claim_count_1, } )->store(); + Koha::Serial->new( { serialid => 90982, serialseq => 'serialseq', subscriptionid => $subscriptionid, status => 3, + biblionumber => 12345, claimdate => $claimdate_1, claims_count => $claim_count_1, } )->store(); + + # When ... + my $result_1 = C4::Serials::updateClaim($serialids_1); + + # Then ... + is($result_1, 2, 'Got the expected 2 from update claim with 2 serial ids'); + + my @late_or_missing_issues_1_0 = C4::Serials::GetLateOrMissingIssues(undef, $serialids_1->[0]); + isnt($late_or_missing_issues_1_0[0]->{claimdate}, $claimdate_1, 'Got the expected first different claim date from update claim'); + is($late_or_missing_issues_1_0[0]->{claims_count}, $claim_count_1+1, 'Got the expected first claim count from update claim'); + is($late_or_missing_issues_1_0[0]->{status}, 7, 'Got the expected first claim status from update claim'); + + my @late_or_missing_issues_1_1 = C4::Serials::GetLateOrMissingIssues(undef, $serialids_1->[1]); + isnt($late_or_missing_issues_1_1[0]->{claimdate}, $claimdate_1, 'Got the expected second different claim date from update claim'); + is($late_or_missing_issues_1_1[0]->{claims_count}, $claim_count_1+1, 'Got the expected second claim count from update claim'); + is($late_or_missing_issues_1_1[0]->{status}, 7, 'Got the expected second claim status from update claim'); + + my @late_or_missing_issues_1_2 = C4::Serials::GetLateOrMissingIssues(undef, 90982); + is($late_or_missing_issues_1_2[0]->{claimdate}, '13/01/2001', 'Got the expected unchanged claim date from update claim'); + is($late_or_missing_issues_1_2[0]->{claims_count}, $claim_count_1, 'Got the expected unchanged claim count from update claim'); + is($late_or_missing_issues_1_2[0]->{status}, 3, 'Got the expected unchanged claim status from update claim'); +}; + is(C4::Serials::getsupplierbyserialid(),undef, 'test getting supplier idea'); is(C4::Serials::check_routing(), undef, 'test checking route'); -- 2.1.4