|
Lines 20-26
Link Here
|
| 20 |
use Modern::Perl; |
20 |
use Modern::Perl; |
| 21 |
use utf8; |
21 |
use utf8; |
| 22 |
|
22 |
|
| 23 |
use Test::More tests => 30; |
23 |
use Test::More tests => 31; |
| 24 |
use Test::Exception; |
24 |
use Test::Exception; |
| 25 |
use Test::MockModule; |
25 |
use Test::MockModule; |
| 26 |
|
26 |
|
|
Lines 2301-2303
subtest 'current_branchtransfers relationship' => sub {
Link Here
|
| 2301 |
|
2301 |
|
| 2302 |
$schema->storage->txn_rollback; |
2302 |
$schema->storage->txn_rollback; |
| 2303 |
}; |
2303 |
}; |
| 2304 |
- |
2304 |
|
|
|
2305 |
subtest 'update_item_location() tests' => sub { |
| 2306 |
|
| 2307 |
plan tests => 10; |
| 2308 |
|
| 2309 |
$schema->storage->txn_begin; |
| 2310 |
|
| 2311 |
my $location = 'YA'; |
| 2312 |
my $permanent_location = 'HEY'; |
| 2313 |
|
| 2314 |
foreach my $action (qw{ checkin checkout }) { |
| 2315 |
|
| 2316 |
my $pref = $action eq 'checkin' ? 'UpdateItemLocationOnCheckin' : 'UpdateItemLocationOnCheckout'; |
| 2317 |
|
| 2318 |
t::lib::Mocks::mock_preference( 'UpdateItemLocationOnCheckin', q{} ); |
| 2319 |
t::lib::Mocks::mock_preference( 'UpdateItemLocationOnCheckout', q{} ); |
| 2320 |
|
| 2321 |
my $item = $builder->build_sample_item( { location => $location, permanent_location => $permanent_location } ); |
| 2322 |
|
| 2323 |
$item->update_item_location($action); |
| 2324 |
|
| 2325 |
is( $item->location, $location, "$pref does not modify value when not enabled" ); |
| 2326 |
|
| 2327 |
t::lib::Mocks::mock_preference( $pref, qq{$location: GEN} ); |
| 2328 |
|
| 2329 |
$item->update_item_location($action); |
| 2330 |
|
| 2331 |
is( $item->location, 'GEN', qq{'location' value set from '$location' to 'GEN' with setting `$location: GEN`} ); |
| 2332 |
|
| 2333 |
t::lib::Mocks::mock_preference( $pref, q{_ALL_: BOO} ); |
| 2334 |
|
| 2335 |
$item->update_item_location($action); |
| 2336 |
|
| 2337 |
is( $item->location, 'BOO', q{`_ALL_` does the job} ); |
| 2338 |
|
| 2339 |
t::lib::Mocks::mock_preference( $pref, qq{$location: _BLANK_} ); |
| 2340 |
$item->location($location)->store(); |
| 2341 |
|
| 2342 |
$item->update_item_location($action); |
| 2343 |
is( $item->location, q{}, q{`_BLANK_` does the job} ); |
| 2344 |
|
| 2345 |
t::lib::Mocks::mock_preference( $pref, qq{GEN: _BLANK_\n_BLANK_: PROC\n$location: _PERM_} ); |
| 2346 |
|
| 2347 |
$item->set( |
| 2348 |
{ |
| 2349 |
location => $location, |
| 2350 |
permanent_location => |
| 2351 |
$permanent_location, # setting `permanent_location` explicitly because ->store messes with it. |
| 2352 |
} |
| 2353 |
)->store; |
| 2354 |
|
| 2355 |
$item->update_item_location($action); |
| 2356 |
|
| 2357 |
is( |
| 2358 |
$item->location, $permanent_location, |
| 2359 |
q{_PERM_ does the job"} |
| 2360 |
); |
| 2361 |
} |
| 2362 |
|
| 2363 |
$schema->storage->txn_rollback; |
| 2364 |
}; |