From 10ef6a6607a52da6a15da16a2f41a1346dd1836f Mon Sep 17 00:00:00 2001 From: Agustin Moyano Date: Tue, 7 Sep 2021 19:28:13 -0300 Subject: [PATCH] Bug 27945: (follow-up) Fix tests for the adjusted check --- t/db_dependent/ArticleRequests.t | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/t/db_dependent/ArticleRequests.t b/t/db_dependent/ArticleRequests.t index 987de75639..f451f3fb00 100644 --- a/t/db_dependent/ArticleRequests.t +++ b/t/db_dependent/ArticleRequests.t @@ -256,7 +256,7 @@ subtest 'may_article_request' => sub { subtest 'article request limit' => sub { - plan tests => 12; + plan tests => 13; t::lib::Mocks::mock_preference('ArticleRequests', 1); @@ -280,7 +280,7 @@ subtest 'article request limit' => sub { ); $patron->article_requests->delete(); - is($patron->can_request_article, 1, 'Patron can request more articles'); + is($patron->can_request_article, 1, 'There are no AR, so patron can request more articles'); my $article_request_1 = Koha::ArticleRequest->new( { @@ -291,7 +291,7 @@ subtest 'article request limit' => sub { } )->store(); - is($patron->can_request_article, 0, 'Patron cannot request more articles'); + is($patron->can_request_article, 0, 'Limit is 1, so patron cannot request more articles'); is($patron->article_requests->count, 1, 'There is one current article request'); try { @@ -300,38 +300,42 @@ subtest 'article request limit' => sub { borrowernumber => $patron->id, biblionumber => $item->biblionumber, itemnumber => $item->itemnumber, - title => 'an second article request', + title => 'a second article request', } )->store(); } catch { - is(ref($_), 'Koha::Exceptions::ArticleRequest::LimitReached', 'Limit reached thrown'); + is(ref($_), 'Koha::Exceptions::ArticleRequest::LimitReached', 'When limit was reached and we ask for a new AR, Limit reached is thrown'); }; - is($patron->can_request_article, 0, 'Patron cannot request more articles'); + is($patron->can_request_article, 0, 'There is still an AR, so patron cannot request more articles'); is($patron->article_requests->count, 1, 'There is still one article request'); - $article_request_1->created_on(dt_from_string->add(days => -1))->store(); + $article_request_1->complete(); + + is($patron->can_request_article, 0, 'AR was completed but within one day, so patron cannot request more articles'); - is($patron->can_request_article, 1, 'Patron can request more articles'); + $article_request_1->updated_on(dt_from_string->add(days => -2))->store(); + + is($patron->can_request_article, 1, 'There are no completed AR within one day, so patron can request more articles'); my $article_request_3 = Koha::ArticleRequest->new( { borrowernumber => $patron->id, biblionumber => $item->biblionumber, itemnumber => $item->itemnumber, - title => 'an third article request', + title => 'a third article request', } )->store(); - is($patron->can_request_article, 0, 'Patron cannot request more articles'); + is($patron->can_request_article, 0, 'A new AR was created, so patron cannot request more articles'); is($patron->article_requests->count, 2, 'There are 2 article requests'); $article_request_3->cancel(); - is($patron->can_request_article, 1, 'Patron can request more articles'); + is($patron->can_request_article, 1, 'New AR was cancelled, so patron can request more articles'); - Koha::ArticleRequest->new( + my $article_request_4 = Koha::ArticleRequest->new( { borrowernumber => $patron->id, biblionumber => $item->biblionumber, @@ -340,7 +344,9 @@ subtest 'article request limit' => sub { } )->store(); - is($patron->can_request_article, 0, 'Patron cannot request more articles'); + $article_request_4->updated_on(dt_from_string->add(days => -30))->store(); + + is($patron->can_request_article, 0, 'There is an old AR but not completed or cancelled, so patron cannot request more articles'); is($patron->article_requests->count, 3, 'There are 3 current article requests'); }; -- 2.25.1