Lines 31-37
plugin 'Koha::REST::Plugin::Pagination';
Link Here
|
31 |
get '/cities' => sub { |
31 |
get '/cities' => sub { |
32 |
my $c = shift; |
32 |
my $c = shift; |
33 |
$c->validation->output($c->req->params->to_hash); |
33 |
$c->validation->output($c->req->params->to_hash); |
34 |
my $cities = $c->objects->search(Koha::Cities->new); |
34 |
my $cities = $c->objects->search(Koha::Cities->new, \&to_model ); |
35 |
$c->render( status => 200, json => $cities ); |
35 |
$c->render( status => 200, json => $cities ); |
36 |
}; |
36 |
}; |
37 |
|
37 |
|
Lines 152-169
subtest 'objects.search helper' => sub {
Link Here
|
152 |
}); |
152 |
}); |
153 |
|
153 |
|
154 |
# _match=starts_with |
154 |
# _match=starts_with |
155 |
$t->get_ok('/cities?name=manuel&_per_page=4&_page=1&_match=starts_with') |
155 |
$t->get_ok('/cities?nombre=manuel&_per_page=4&_page=1&_match=starts_with') |
156 |
->status_is(200) |
156 |
->status_is(200) |
157 |
->json_has('/0') |
157 |
->json_has('/0') |
158 |
->json_has('/1') |
158 |
->json_has('/1') |
159 |
->json_has('/2') |
159 |
->json_has('/2') |
160 |
->json_hasnt('/3') |
160 |
->json_hasnt('/3') |
161 |
->json_is('/0/name' => 'Manuel') |
161 |
->json_is('/0/city_name' => 'Manuel') |
162 |
->json_is('/1/name' => 'Manuela') |
162 |
->json_is('/1/city_name' => 'Manuela') |
163 |
->json_is('/2/name' => 'Manuelab'); |
163 |
->json_is('/2/city_name' => 'Manuelab'); |
164 |
|
164 |
|
165 |
# _match=ends_with |
165 |
# _match=ends_with |
166 |
$t->get_ok('/cities?name=manuel&_per_page=4&_page=1&_match=ends_with') |
166 |
$t->get_ok('/cities?nombre=manuel&_per_page=4&_page=1&_match=ends_with') |
167 |
->status_is(200) |
167 |
->status_is(200) |
168 |
->json_has('/0') |
168 |
->json_has('/0') |
169 |
->json_has('/1') |
169 |
->json_has('/1') |
Lines 172-195
subtest 'objects.search helper' => sub {
Link Here
|
172 |
->json_is('/1/city_name' => 'Emanuel'); |
172 |
->json_is('/1/city_name' => 'Emanuel'); |
173 |
|
173 |
|
174 |
# _match=exact |
174 |
# _match=exact |
175 |
$t->get_ok('/cities?name=manuel&_per_page=4&_page=1&_match=exact') |
175 |
$t->get_ok('/cities?nombre=manuel&_per_page=4&_page=1&_match=exact') |
176 |
->status_is(200) |
176 |
->status_is(200) |
177 |
->json_has('/0') |
177 |
->json_has('/0') |
178 |
->json_hasnt('/1') |
178 |
->json_hasnt('/1') |
179 |
->json_is('/0/city_name' => 'Manuel'); |
179 |
->json_is('/0/city_name' => 'Manuel'); |
180 |
|
180 |
|
181 |
# _match=contains |
181 |
# _match=contains |
182 |
$t->get_ok('/cities?name=manuel&_per_page=4&_page=1&_match=contains') |
182 |
$t->get_ok('/cities?nombre=manuel&_per_page=4&_page=1&_match=contains') |
183 |
->status_is(200) |
183 |
->status_is(200) |
184 |
->json_has('/0') |
184 |
->json_has('/0') |
185 |
->json_has('/1') |
185 |
->json_has('/1') |
186 |
->json_has('/2') |
186 |
->json_has('/2') |
187 |
->json_has('/3') |
187 |
->json_has('/3') |
188 |
->json_hasnt('/4') |
188 |
->json_hasnt('/4') |
189 |
->json_is('/0/name' => 'Manuel') |
189 |
->json_is('/0/city_name' => 'Manuel') |
190 |
->json_is('/1/name' => 'Manuela') |
190 |
->json_is('/1/city_name' => 'Manuela') |
191 |
->json_is('/2/name' => 'Manuelab') |
191 |
->json_is('/2/city_name' => 'Manuelab') |
192 |
->json_is('/3/name' => 'Emanuel'); |
192 |
->json_is('/3/city_name' => 'Emanuel'); |
193 |
|
193 |
|
194 |
$schema->storage->txn_rollback; |
194 |
$schema->storage->txn_rollback; |
195 |
}; |
195 |
}; |
196 |
- |
|
|