Bugzilla – Attachment 132686 Details for
Bug 30055
Rewrite some of the patron searches to make them use the REST API routes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30055: API unit tests
Bug-30055-API-unit-tests.patch (text/plain), 4.94 KB, created by
Martin Renvoize (ashimema)
on 2022-03-31 08:40:56 UTC
(
hide
)
Description:
Bug 30055: API unit tests
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2022-03-31 08:40:56 UTC
Size:
4.94 KB
patch
obsolete
>From e3592b2ad214e7e66de80f227e8f781c6d5d4908 Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@theke.io> >Date: Tue, 29 Mar 2022 15:37:59 +0200 >Subject: [PATCH] Bug 30055: API unit tests >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> > >Signed-off-by: Séverine Queune <severine.queune@bulac.fr> >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >--- > t/db_dependent/api/v1/acquisitions_baskets.t | 63 ++++++++++++++++++++ > t/db_dependent/api/v1/acquisitions_funds.t | 37 +++++++++++- > 2 files changed, 98 insertions(+), 2 deletions(-) > create mode 100755 t/db_dependent/api/v1/acquisitions_baskets.t > >diff --git a/t/db_dependent/api/v1/acquisitions_baskets.t b/t/db_dependent/api/v1/acquisitions_baskets.t >new file mode 100755 >index 0000000000..e3fb49765c >--- /dev/null >+++ b/t/db_dependent/api/v1/acquisitions_baskets.t >@@ -0,0 +1,63 @@ >+#!/usr/bin/env perl >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use Test::More tests => 1; >+use Test::Mojo; >+ >+use t::lib::TestBuilder; >+use t::lib::Mocks; >+ >+use JSON qw(encode_json); >+ >+use Koha::Database; >+ >+my $schema = Koha::Database->new->schema; >+my $builder = t::lib::TestBuilder->new(); >+my $t = Test::Mojo->new('Koha::REST::V1'); >+ >+t::lib::Mocks::mock_preference( 'RESTBasicAuth', 1 ); >+ >+subtest 'list_managers() tests' => sub { >+ >+ plan tests => 3; >+ >+ $schema->storage->txn_begin; >+ >+ my $patron_with_permission = >+ $builder->build_object( { class => 'Koha::Patrons', value => { flags => 2**11 } } ) >+ ; ## 11 == acquisition >+ my $patron_without_permission = >+ $builder->build_object( { class => 'Koha::Patrons', value => { flags => 0 } } ); >+ my $superlibrarian = >+ $builder->build_object( { class => 'Koha::Patrons', value => { flags => 1 } } ); >+ my $password = 'thePassword123'; >+ $superlibrarian->set_password( { password => $password, skip_validation => 1 } ); >+ my $userid = $superlibrarian->userid; >+ >+ my $api_filter = encode_json( >+ { 'me.patron_id' => >+ [ $patron_with_permission->id, $patron_without_permission->id, $superlibrarian->id ] >+ } >+ ); >+ >+ $t->get_ok("//$userid:$password@/api/v1/acquisitions/baskets/managers?q=$api_filter") >+ ->status_is(200)->json_is( [ $patron_with_permission->to_api, $superlibrarian->to_api ] ); >+ >+ $schema->storage->txn_rollback; >+}; >diff --git a/t/db_dependent/api/v1/acquisitions_funds.t b/t/db_dependent/api/v1/acquisitions_funds.t >index b77cc81f86..556af73d23 100755 >--- a/t/db_dependent/api/v1/acquisitions_funds.t >+++ b/t/db_dependent/api/v1/acquisitions_funds.t >@@ -17,11 +17,13 @@ > > use Modern::Perl; > >-use Test::More tests => 13; >+use Test::More tests => 14; > use Test::Mojo; > use t::lib::TestBuilder; > use t::lib::Mocks; > >+use JSON qw(encode_json); >+ > use C4::Budgets; > > use Koha::Database; >@@ -85,4 +87,35 @@ $t->get_ok("//$userid:$password@/api/v1/acquisitions/funds?name=" . $fund_name) > > $schema->storage->txn_rollback; > >-1; >+subtest 'list_owners() and list_users() tests' => sub { >+ >+ plan tests => 6; >+ >+ $schema->storage->txn_begin; >+ >+ my $patron_with_permission = >+ $builder->build_object( { class => 'Koha::Patrons', value => { flags => 2**11 } } ) >+ ; ## 11 == acquisition >+ my $patron_without_permission = >+ $builder->build_object( { class => 'Koha::Patrons', value => { flags => 0 } } ); >+ my $superlibrarian = >+ $builder->build_object( { class => 'Koha::Patrons', value => { flags => 1 } } ); >+ my $password = 'thePassword123'; >+ $superlibrarian->set_password( { password => $password, skip_validation => 1 } ); >+ my $userid = $superlibrarian->userid; >+ >+ # Restrict the query to a know list of patrons >+ my $api_filter = encode_json( >+ { 'me.patron_id' => >+ [ $patron_with_permission->id, $patron_without_permission->id, $superlibrarian->id ] >+ } >+ ); >+ >+ $t->get_ok("//$userid:$password@/api/v1/acquisitions/funds/owners?q=$api_filter") >+ ->status_is(200)->json_is( [ $patron_with_permission->to_api, $superlibrarian->to_api ] ); >+ >+ $t->get_ok("//$userid:$password@/api/v1/acquisitions/funds/users?q=$api_filter") >+ ->status_is(200)->json_is( [ $patron_with_permission->to_api, $superlibrarian->to_api ] ); >+ >+ $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 30055
:
130364
|
130365
|
130366
|
130367
|
130368
|
130369
|
130370
|
130371
|
130372
|
130385
|
130386
|
130387
|
130388
|
130389
|
130390
|
130391
|
130392
|
130393
|
130394
|
130395
|
130457
|
130487
|
130488
|
130491
|
130507
|
130511
|
130629
|
130630
|
130671
|
130672
|
130701
|
130702
|
130704
|
130716
|
130717
|
131829
|
132168
|
132419
|
132420
|
132421
|
132422
|
132423
|
132424
|
132425
|
132426
|
132427
|
132428
|
132429
|
132430
|
132431
|
132432
|
132433
|
132434
|
132435
|
132436
|
132437
|
132438
|
132439
|
132440
|
132441
|
132450
|
132451
|
132452
|
132453
|
132454
|
132455
|
132456
|
132457
|
132458
|
132459
|
132460
|
132461
|
132462
|
132463
|
132464
|
132465
|
132466
|
132467
|
132468
|
132469
|
132470
|
132471
|
132472
|
132473
|
132539
|
132616
|
132617
|
132618
|
132619
|
132620
|
132621
|
132622
|
132623
|
132624
|
132625
|
132627
|
132628
|
132629
|
132630
|
132631
|
132632
|
132633
|
132634
|
132635
|
132636
|
132637
|
132638
|
132639
|
132640
|
132641
|
132664
|
132665
|
132666
|
132667
|
132668
|
132669
|
132670
|
132671
|
132672
|
132673
|
132674
|
132675
|
132676
|
132677
|
132678
|
132679
|
132680
|
132681
|
132682
|
132683
|
132684
|
132685
| 132686 |
132687
|
132688