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 => 37; |
23 |
use Test::More tests => 38; |
24 |
use Test::Exception; |
24 |
use Test::Exception; |
25 |
use Test::MockModule; |
25 |
use Test::MockModule; |
26 |
|
26 |
|
Lines 3239-3241
subtest 'effective_not_for_loan_status() tests' => sub {
Link Here
|
3239 |
|
3239 |
|
3240 |
$schema->storage->txn_rollback; |
3240 |
$schema->storage->txn_rollback; |
3241 |
}; |
3241 |
}; |
3242 |
- |
3242 |
|
|
|
3243 |
subtest 'effective_bookable() tests' => sub { |
3244 |
|
3245 |
plan tests => 5; |
3246 |
|
3247 |
$schema->storage->txn_begin; |
3248 |
|
3249 |
my $biblio = $builder->build_sample_biblio; |
3250 |
my $biblio_itype = Koha::ItemTypes->find( $biblio->itemtype ); |
3251 |
$biblio_itype->bookable(0)->store(); |
3252 |
$biblio_itype->discard_changes; |
3253 |
|
3254 |
my $item_itype = $builder->build_object( { class => 'Koha::ItemTypes' } ); |
3255 |
$item_itype->bookable(1)->store(); |
3256 |
$item_itype->discard_changes; |
3257 |
|
3258 |
my $item = $builder->build_sample_item( { biblionumber => $biblio->biblionumber, itype => $item_itype->itemtype } ); |
3259 |
$item->bookable(undef)->store(); |
3260 |
$item->discard_changes; |
3261 |
|
3262 |
isnt( $biblio->itemtype, $item_itype->itemtype, "Biblio level itemtype and item level itemtype does not match" ); |
3263 |
|
3264 |
t::lib::Mocks::mock_preference( 'item-level_itypes', 0 ); |
3265 |
note("item-level_itypes: 0"); |
3266 |
|
3267 |
is( |
3268 |
$item->effective_bookable, $biblio_itype->bookable, |
3269 |
'->effective_bookable returns biblio level itemtype bookable value when item bookable is undefined' |
3270 |
); |
3271 |
|
3272 |
$item->bookable(1)->store(); |
3273 |
$item->discard_changes; |
3274 |
isnt( |
3275 |
$item->effective_bookable, $biblio_itype->bookable, |
3276 |
'->effective_bookable returns item specific bookable value when item bookable is defined' |
3277 |
); |
3278 |
|
3279 |
t::lib::Mocks::mock_preference( 'item-level_itypes', 1 ); |
3280 |
note("item-level_itypes: 1"); |
3281 |
|
3282 |
$item->bookable(undef)->store(); |
3283 |
$item->discard_changes; |
3284 |
is( |
3285 |
$item->effective_bookable, $item_itype->bookable, |
3286 |
'->effective_bookable returns item level itemtype bookable value when item bookable is undefined' |
3287 |
); |
3288 |
|
3289 |
$item->bookable(0)->store(); |
3290 |
$item->discard_changes; |
3291 |
isnt( |
3292 |
$item->effective_bookable, $item_itype->bookable, |
3293 |
'->effective_bookable returns item specific bookable value when item bookable is defined' |
3294 |
); |
3295 |
|
3296 |
$schema->storage->txn_rollback; |
3297 |
}; |