Bugzilla – Attachment 124673 Details for
Bug 27945
Limit the number of active article requests per patron category
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27945: Add tests
Bug-27945-Add-tests.patch (text/plain), 3.94 KB, created by
Marcel de Rooy
on 2021-09-09 07:44:40 UTC
(
hide
)
Description:
Bug 27945: Add tests
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2021-09-09 07:44:40 UTC
Size:
3.94 KB
patch
obsolete
>From 32baa175d159f5e5760c8ad04ff39fca19efc8ab Mon Sep 17 00:00:00 2001 >From: Agustin Moyano <agustinmoyano@theke.io> >Date: Thu, 22 Jul 2021 00:54:41 +0000 >Subject: [PATCH] Bug 27945: Add tests >Content-Type: text/plain; charset=utf-8 > >Signed-off-by: David Nind <david@davidnind.com> > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >--- > t/db_dependent/ArticleRequests.t | 95 +++++++++++++++++++++++++++++++- > 1 file changed, 94 insertions(+), 1 deletion(-) > mode change 100755 => 100644 t/db_dependent/ArticleRequests.t > >diff --git a/t/db_dependent/ArticleRequests.t b/t/db_dependent/ArticleRequests.t >old mode 100755 >new mode 100644 >index 3f0ec37cd3..987de75639 >--- a/t/db_dependent/ArticleRequests.t >+++ b/t/db_dependent/ArticleRequests.t >@@ -19,7 +19,7 @@ use Modern::Perl; > > use POSIX qw(strftime); > >-use Test::More tests => 54; >+use Test::More tests => 55; > > use t::lib::TestBuilder; > use t::lib::Mocks; >@@ -31,6 +31,8 @@ use Koha::Patron; > use Koha::Library::Group; > use Koha::CirculationRules; > use Koha::Caches; >+use Koha::DateUtils qw( dt_from_string ); >+use Try::Tiny; > > BEGIN { > use_ok('Koha::ArticleRequest'); >@@ -252,4 +254,95 @@ subtest 'may_article_request' => sub { > $cache->clear_from_cache( Koha::CirculationRules::GUESSED_ITEMTYPES_KEY ); > }; > >+ >+subtest 'article request limit' => sub { >+ plan tests => 12; >+ >+ t::lib::Mocks::mock_preference('ArticleRequests', 1); >+ >+ my $item = $builder->build_sample_item; >+ >+ my $category = $builder->build_object( >+ { >+ class => 'Koha::Patron::Categories', >+ value => { >+ article_request_limit => 1 >+ } >+ } >+ ); >+ my $patron = $builder->build_object( >+ { >+ class => 'Koha::Patrons', >+ value => { >+ categorycode => $category->categorycode >+ }, >+ } >+ ); >+ $patron->article_requests->delete(); >+ >+ is($patron->can_request_article, 1, 'Patron can request more articles'); >+ >+ my $article_request_1 = Koha::ArticleRequest->new( >+ { >+ borrowernumber => $patron->id, >+ biblionumber => $item->biblionumber, >+ itemnumber => $item->itemnumber, >+ title => 'an article request', >+ } >+ )->store(); >+ >+ is($patron->can_request_article, 0, 'Patron cannot request more articles'); >+ is($patron->article_requests->count, 1, 'There is one current article request'); >+ >+ try { >+ Koha::ArticleRequest->new( >+ { >+ borrowernumber => $patron->id, >+ biblionumber => $item->biblionumber, >+ itemnumber => $item->itemnumber, >+ title => 'an second article request', >+ } >+ )->store(); >+ } >+ catch { >+ is(ref($_), 'Koha::Exceptions::ArticleRequest::LimitReached', 'Limit reached thrown'); >+ }; >+ >+ is($patron->can_request_article, 0, '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(); >+ >+ is($patron->can_request_article, 1, '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', >+ } >+ )->store(); >+ >+ is($patron->can_request_article, 0, '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'); >+ >+ Koha::ArticleRequest->new( >+ { >+ borrowernumber => $patron->id, >+ biblionumber => $item->biblionumber, >+ itemnumber => $item->itemnumber, >+ title => 'an fourth article request', >+ } >+ )->store(); >+ >+ is($patron->can_request_article, 0, 'Patron cannot request more articles'); >+ is($patron->article_requests->count, 3, 'There are 3 current article requests'); >+ >+}; >+ > $schema->storage->txn_rollback(); >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 27945
:
123217
|
123218
|
123219
|
123220
|
123714
|
123715
|
123774
|
123775
|
123776
|
123777
|
123778
|
123820
|
124066
|
124067
|
124068
|
124069
|
124070
|
124071
|
124072
|
124073
|
124074
|
124075
|
124076
|
124077
|
124078
|
124079
|
124284
|
124285
|
124633
|
124673
|
124674
|
124675
|
124676
|
124677
|
124678
|
124679
|
124680
|
124681
|
124682
|
125140
|
125142
|
125143
|
125144
|
125145
|
125146
|
125147
|
125148
|
125149
|
125150
|
125151
|
125152
|
125178
|
125179
|
125569
|
125571
|
125638
|
125690
|
125702
|
125703
|
125704
|
125705
|
125706
|
125707
|
125726
|
125741
|
125761