Browse Source

Bug 20866: Make ArticleRequests.t pass even if table is not empty

Previous patch from Marcel removed the data from article_requests, I do
not think it is a good idea to remove existing data, it could hide bugs.

This patch moves the count inside the subtest block in order to have the
correct value when these tests are executed.
Previous code was broken: Koha::Patron->store does not generate a
userid, and ->search_limited did not work correctly
(Koha::Patron->has_permission returned early because of the non-existing
userid, 'return unless $self->userid;');

Test plan:
[1] Create an article request.
[2] Run t/db_dependent/ArticleRequests.t

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
18.11.x
Jonathan Druart 6 years ago
committed by Nick Clemens
parent
commit
6123e213e6
  1. 13
      t/db_dependent/ArticleRequests.t

13
t/db_dependent/ArticleRequests.t

@ -72,14 +72,13 @@ my $patron = Koha::Patron->new(
categorycode => $category->{categorycode}, categorycode => $category->{categorycode},
branchcode => $branch->{branchcode}, branchcode => $branch->{branchcode},
flags => 1,# superlibrarian flags => 1,# superlibrarian
userid => 'a_userid_for_tests', # So far Koha::Patron->store does not deal with userid, see bug 20287
} }
)->store(); )->store();
ok( $patron->id, 'Koha::Patron created' ); ok( $patron->id, 'Koha::Patron created' );
my $patron_2 = $builder->build({ source => 'Borrower', value => { flags => 0 } }); my $patron_2 = $builder->build({ source => 'Borrower', value => { flags => 0 } });
$patron_2 = Koha::Patrons->find( $patron_2->{borrowernumber} ); $patron_2 = Koha::Patrons->find( $patron_2->{borrowernumber} );
my $nb_article_requests = Koha::ArticleRequests->count;
# store # store
Koha::Notice::Messages->delete; Koha::Notice::Messages->delete;
my $article_request_title = 'an article request title'; my $article_request_title = 'an article request title';
@ -207,16 +206,18 @@ $rule->delete();
subtest 'search_limited' => sub { subtest 'search_limited' => sub {
plan tests => 4; plan tests => 4;
C4::Context->_new_userenv('xxx'); C4::Context->_new_userenv('xxx');
my $nb_article_requests = Koha::ArticleRequests->count;
my $group_1 = Koha::Library::Group->new( { title => 'TEST Group 1' } )->store; my $group_1 = Koha::Library::Group->new( { title => 'TEST Group 1' } )->store;
my $group_2 = Koha::Library::Group->new( { title => 'TEST Group 2' } )->store; my $group_2 = Koha::Library::Group->new( { title => 'TEST Group 2' } )->store;
Koha::Library::Group->new({ parent_id => $group_1->id, branchcode => $patron->branchcode })->store(); Koha::Library::Group->new({ parent_id => $group_1->id, branchcode => $patron->branchcode })->store();
Koha::Library::Group->new({ parent_id => $group_2->id, branchcode => $patron_2->branchcode })->store(); Koha::Library::Group->new({ parent_id => $group_2->id, branchcode => $patron_2->branchcode })->store();
set_logged_in_user( $patron ); # Is superlibrarian set_logged_in_user( $patron ); # Is superlibrarian
is( Koha::ArticleRequests->count, $nb_article_requests + 1, 'Koha::ArticleRequests should return all article requests' ); is( Koha::ArticleRequests->count, $nb_article_requests, 'Koha::ArticleRequests should return all article requests' );
is( Koha::ArticleRequests->search_limited->count, $nb_article_requests + 1, 'Koha::ArticleRequests->search_limited should return all article requests for superlibrarian' ); is( Koha::ArticleRequests->search_limited->count, $nb_article_requests, 'Koha::ArticleRequests->search_limited should return all article requests for superlibrarian' );
set_logged_in_user( $patron_2 ); # Is restricted set_logged_in_user( $patron_2 ); # Is restricted
is( Koha::ArticleRequests->count, $nb_article_requests + 1, 'Koha::ArticleRequests should return all article requests' ); is( Koha::ArticleRequests->count, $nb_article_requests, 'Koha::ArticleRequests should return all article requests' );
is( Koha::ArticleRequests->search_limited->count, $nb_article_requests, 'Koha::ArticleRequests->search_limited should not return all article requests for restricted patron' ); is( Koha::ArticleRequests->search_limited->count, 0, 'Koha::ArticleRequests->search_limited should not return all article requests for restricted patron' );
}; };
$schema->storage->txn_rollback(); $schema->storage->txn_rollback();

Loading…
Cancel
Save