Lines 43-49
my $t = Test::Mojo->new('Koha::REST::V1');
Link Here
|
43 |
t::lib::Mocks::mock_preference( 'RESTBasicAuth', 1 ); |
43 |
t::lib::Mocks::mock_preference( 'RESTBasicAuth', 1 ); |
44 |
|
44 |
|
45 |
subtest 'list() tests' => sub { |
45 |
subtest 'list() tests' => sub { |
46 |
plan tests => 2; |
46 |
|
|
|
47 |
plan tests => 3; |
47 |
|
48 |
|
48 |
$schema->storage->txn_begin; |
49 |
$schema->storage->txn_begin; |
49 |
unauthorized_access_tests('GET', undef, undef); |
50 |
unauthorized_access_tests('GET', undef, undef); |
Lines 140-145
subtest 'list() tests' => sub {
Link Here
|
140 |
|
141 |
|
141 |
$schema->storage->txn_rollback; |
142 |
$schema->storage->txn_rollback; |
142 |
}; |
143 |
}; |
|
|
144 |
|
145 |
subtest 'search_limited() tests' => sub { |
146 |
|
147 |
plan tests => 9; |
148 |
|
149 |
$schema->storage->txn_begin; |
150 |
|
151 |
my $library_1 = $builder->build_object({ class => 'Koha::Libraries' }); |
152 |
my $library_2 = $builder->build_object({ class => 'Koha::Libraries' }); |
153 |
|
154 |
my $patron_1 = $builder->build_object({ class => 'Koha::Patrons', value => { branchcode => $library_1->id } }); |
155 |
my $patron_2 = $builder->build_object({ class => 'Koha::Patrons', value => { branchcode => $library_1->id } }); |
156 |
my $patron_3 = $builder->build_object({ class => 'Koha::Patrons', value => { branchcode => $library_2->id } }); |
157 |
|
158 |
my @libraries_where_can_see_patrons = ($library_1->id, $library_2->id); |
159 |
|
160 |
my $mocked_patron = Test::MockModule->new('Koha::Patron'); |
161 |
$mocked_patron->mock( 'libraries_where_can_see_patrons', sub |
162 |
{ |
163 |
return @libraries_where_can_see_patrons; |
164 |
} |
165 |
); |
166 |
|
167 |
my $librarian = $builder->build_object( |
168 |
{ |
169 |
class => 'Koha::Patrons', |
170 |
value => { flags => 2**4 } # borrowers flag = 4 |
171 |
} |
172 |
); |
173 |
my $password = 'thePassword123'; |
174 |
$librarian->set_password( { password => $password, skip_validation => 1 } ); |
175 |
my $userid = $librarian->userid; |
176 |
|
177 |
$t->get_ok("//$userid:$password@/api/v1/patrons?_order_by=patron_id&q=" . encode_json({ library_id => [ $library_1->id, $library_2->id ] })) |
178 |
->status_is(200) |
179 |
->json_is( '/0/patron_id' => $patron_1->id ) |
180 |
->json_is( '/1/patron_id' => $patron_2->id ) |
181 |
->json_is( '/2/patron_id' => $patron_3->id ); |
182 |
|
183 |
@libraries_where_can_see_patrons = ($library_2->id); |
184 |
|
185 |
my $res = $t->get_ok("//$userid:$password@/api/v1/patrons?_order_by=patron_id&q=" . encode_json({ library_id => [ $library_1->id, $library_2->id ] })) |
186 |
->status_is(200) |
187 |
->json_is( '/0/patron_id' => $patron_3->id, 'Returns the only allowed patron' ) |
188 |
->tx->res->json; |
189 |
|
190 |
is( scalar @{$res}, 1, 'Only one patron returned' ); |
191 |
|
192 |
$schema->storage->txn_rollback; |
193 |
}; |
143 |
}; |
194 |
}; |
144 |
|
195 |
|
145 |
subtest 'get() tests' => sub { |
196 |
subtest 'get() tests' => sub { |
146 |
- |
|
|