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 3175-3177
subtest 'effective_not_for_loan_status() tests' => sub {
Link Here
|
3175 |
|
3175 |
|
3176 |
$schema->storage->txn_rollback; |
3176 |
$schema->storage->txn_rollback; |
3177 |
}; |
3177 |
}; |
3178 |
- |
3178 |
|
|
|
3179 |
subtest 'effective_bookable() tests' => sub { |
3180 |
|
3181 |
plan tests => 5; |
3182 |
|
3183 |
$schema->storage->txn_begin; |
3184 |
|
3185 |
my $biblio = $builder->build_sample_biblio; |
3186 |
my $biblio_itype = Koha::ItemTypes->find( $biblio->itemtype ); |
3187 |
$biblio_itype->bookable(0)->store(); |
3188 |
$biblio_itype->discard_changes; |
3189 |
|
3190 |
my $item_itype = $builder->build_object( { class => 'Koha::ItemTypes' } ); |
3191 |
$item_itype->bookable(1)->store(); |
3192 |
$item_itype->discard_changes; |
3193 |
|
3194 |
my $item = $builder->build_sample_item( { biblionumber => $biblio->biblionumber, itype => $item_itype->itemtype } ); |
3195 |
$item->bookable(undef)->store(); |
3196 |
$item->discard_changes; |
3197 |
|
3198 |
isnt( $biblio->itemtype, $item_itype->itemtype, "Biblio level itemtype and item level itemtype does not match" ); |
3199 |
|
3200 |
t::lib::Mocks::mock_preference( 'item-level_itypes', 0 ); |
3201 |
note("item-level_itypes: 0"); |
3202 |
|
3203 |
is( |
3204 |
$item->effective_bookable, $biblio_itype->bookable, |
3205 |
'->effective_bookable returns biblio level itemtype bookable value when item bookable is undefined' |
3206 |
); |
3207 |
|
3208 |
$item->bookable(1)->store(); |
3209 |
$item->discard_changes; |
3210 |
isnt( |
3211 |
$item->effective_bookable, $biblio_itype->bookable, |
3212 |
'->effective_bookable returns item specific bookable value when item bookable is defined' |
3213 |
); |
3214 |
|
3215 |
t::lib::Mocks::mock_preference( 'item-level_itypes', 1 ); |
3216 |
note("item-level_itypes: 1"); |
3217 |
|
3218 |
$item->bookable(undef)->store(); |
3219 |
$item->discard_changes; |
3220 |
is( |
3221 |
$item->effective_bookable, $item_itype->bookable, |
3222 |
'->effective_bookable returns item level itemtype bookable value when item bookable is undefined' |
3223 |
); |
3224 |
|
3225 |
$item->bookable(0)->store(); |
3226 |
$item->discard_changes; |
3227 |
isnt( |
3228 |
$item->effective_bookable, $item_itype->bookable, |
3229 |
'->effective_bookable returns item specific bookable value when item bookable is defined' |
3230 |
); |
3231 |
|
3232 |
$schema->storage->txn_rollback; |
3233 |
}; |