Lines 149-155
subtest 'get() tests' => sub {
Link Here
|
149 |
|
149 |
|
150 |
subtest 'add() tests' => sub { |
150 |
subtest 'add() tests' => sub { |
151 |
|
151 |
|
152 |
plan tests => 15; |
152 |
plan tests => 16; |
153 |
|
153 |
|
154 |
$schema->storage->txn_begin; |
154 |
$schema->storage->txn_begin; |
155 |
|
155 |
|
Lines 237-242
subtest 'add() tests' => sub {
Link Here
|
237 |
] |
237 |
] |
238 |
); |
238 |
); |
239 |
|
239 |
|
|
|
240 |
subtest 'x-koha-override tests' => sub { |
241 |
|
242 |
plan tests => 14; |
243 |
|
244 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
245 |
|
246 |
t::lib::Mocks::mock_preference( 'MaxTotalSuggestions', 4 ); |
247 |
t::lib::Mocks::mock_preference( 'MaxOpenSuggestions', 2 ); |
248 |
t::lib::Mocks::mock_preference( 'NumberOfSuggestionDays', 2 ); |
249 |
|
250 |
my $suggestion = $builder->build_object( |
251 |
{ class => 'Koha::Suggestions', |
252 |
value => { suggestedby => $patron->id, STATUS => 'ACCEPTED' } |
253 |
} |
254 |
); |
255 |
|
256 |
my $suggestion_data = $suggestion->to_api; |
257 |
delete $suggestion_data->{suggestion_id}; |
258 |
delete $suggestion_data->{status}; |
259 |
|
260 |
$t->post_ok( "//$userid:$password@/api/v1/suggestions" => json => $suggestion_data ) |
261 |
->status_is( 201, 'First pending suggestion' ); |
262 |
|
263 |
$t->post_ok( "//$userid:$password@/api/v1/suggestions" => json => $suggestion_data ) |
264 |
->status_is( 201, 'Second pending suggestion' ); |
265 |
|
266 |
$t->post_ok( "//$userid:$password@/api/v1/suggestions" => json => $suggestion_data ) |
267 |
->status_is(400) |
268 |
->json_is( '/error_code' => 'max_pending_reached' ); |
269 |
|
270 |
$t->post_ok( "//$userid:$password@/api/v1/suggestions" |
271 |
=> { 'x-koha-override' => 'max_pending' } |
272 |
=> json => $suggestion_data ) |
273 |
->status_is( 201, 'max_pending override does the job' ); |
274 |
|
275 |
$t->post_ok( "//$userid:$password@/api/v1/suggestions" => json => $suggestion_data ) |
276 |
->status_is(400) |
277 |
->json_is( '/error_code' => 'max_total_reached' ); |
278 |
|
279 |
$t->post_ok( |
280 |
"//$userid:$password@/api/v1/suggestions" => { 'x-koha-override' => 'any' } => json => $suggestion_data ) |
281 |
->status_is( 201, 'any overrides anything' ); |
282 |
}; |
283 |
|
240 |
$schema->storage->txn_rollback; |
284 |
$schema->storage->txn_rollback; |
241 |
}; |
285 |
}; |
242 |
|
286 |
|
243 |
- |
|
|