View | Details | Raw Unified | Return to bug 17678
Collapse All | Expand All

(-)a/t/db_dependent/Circulation.t (-2 / +59 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 90;
20
use Test::More tests => 91;
21
21
22
BEGIN {
22
BEGIN {
23
    require_ok('C4::Circulation');
23
    require_ok('C4::Circulation');
Lines 36-41 use C4::Reserves; Link Here
36
use C4::Overdues qw(UpdateFine CalcFine);
36
use C4::Overdues qw(UpdateFine CalcFine);
37
use Koha::DateUtils;
37
use Koha::DateUtils;
38
use Koha::Database;
38
use Koha::Database;
39
use Koha::Subscriptions;
39
40
40
my $schema = Koha::Database->schema;
41
my $schema = Koha::Database->schema;
41
$schema->storage->txn_begin;
42
$schema->storage->txn_begin;
Lines 1248-1253 subtest 'CanBookBeIssued + Koha::Patron->is_debarred|has_overdues' => sub { Link Here
1248
    is( $error->{USERBLOCKEDNOENDDATE},    '9999-12-31' );
1249
    is( $error->{USERBLOCKEDNOENDDATE},    '9999-12-31' );
1249
};
1250
};
1250
1251
1252
subtest 'CanBookBeIssued + AllowMultipleIssuesOnABiblio' => sub {
1253
    plan tests => 5;
1254
1255
    my $library = $builder->build( { source => 'Branch' } );
1256
    my $patron  = $builder->build( { source => 'Borrower' } );
1257
1258
    my $biblioitem = $builder->build( { source => 'Biblioitem' } );
1259
    my $biblionumber = $biblioitem->{biblionumber};
1260
    my $item_1 = $builder->build(
1261
        {   source => 'Item',
1262
            value  => {
1263
                homebranch    => $library->{branchcode},
1264
                holdingbranch => $library->{branchcode},
1265
                notforloan    => 0,
1266
                itemlost      => 0,
1267
                withdrawn     => 0,
1268
                biblionumber  => $biblionumber,
1269
            }
1270
        }
1271
    );
1272
    my $item_2 = $builder->build(
1273
        {   source => 'Item',
1274
            value  => {
1275
                homebranch    => $library->{branchcode},
1276
                holdingbranch => $library->{branchcode},
1277
                notforloan    => 0,
1278
                itemlost      => 0,
1279
                withdrawn     => 0,
1280
                biblionumber  => $biblionumber,
1281
            }
1282
        }
1283
    );
1284
1285
    my ( $error, $question, $alerts );
1286
    my $issue = AddIssue( $patron, $item_1->{barcode}, dt_from_string->add( days => 1 ) );
1287
1288
    t::lib::Mocks::mock_preference('AllowMultipleIssuesOnABiblio', 0);
1289
    ( $error, $question, $alerts ) = CanBookBeIssued( $patron, $item_2->{barcode} );
1290
    is( keys(%$error) + keys(%$alerts),  0, 'No error or alert should be raised' );
1291
    is( $question->{BIBLIO_ALREADY_ISSUED}, 1, 'BIBLIO_ALREADY_ISSUED question flag should be set if AllowMultipleIssuesOnABiblio=0 and issue already exists' );
1292
1293
    t::lib::Mocks::mock_preference('AllowMultipleIssuesOnABiblio', 1);
1294
    ( $error, $question, $alerts ) = CanBookBeIssued( $patron, $item_2->{barcode} );
1295
    is( keys(%$error) + keys(%$question) + keys(%$alerts),  0, 'No BIBLIO_ALREADY_ISSUED flag should be set if AllowMultipleIssuesOnABiblio=1' );
1296
1297
    # Add a subscription
1298
    Koha::Subscription->new({ biblionumber => $biblionumber })->store;
1299
1300
    t::lib::Mocks::mock_preference('AllowMultipleIssuesOnABiblio', 0);
1301
    ( $error, $question, $alerts ) = CanBookBeIssued( $patron, $item_2->{barcode} );
1302
    is( keys(%$error) + keys(%$question) + keys(%$alerts),  0, 'No BIBLIO_ALREADY_ISSUED flag should be set if it iss a subscription' );
1303
1304
    t::lib::Mocks::mock_preference('AllowMultipleIssuesOnABiblio', 1);
1305
    ( $error, $question, $alerts ) = CanBookBeIssued( $patron, $item_2->{barcode} );
1306
    is( keys(%$error) + keys(%$question) + keys(%$alerts),  0, 'No BIBLIO_ALREADY_ISSUED flag should be set if it iss a subscription' );
1307
};
1308
1251
sub set_userenv {
1309
sub set_userenv {
1252
    my ( $library ) = @_;
1310
    my ( $library ) = @_;
1253
    C4::Context->set_userenv(0,0,0,'firstname','surname', $library->{branchcode}, $library->{branchname}, '', '', '');
1311
    C4::Context->set_userenv(0,0,0,'firstname','surname', $library->{branchcode}, $library->{branchname}, '', '', '');
1254
- 

Return to bug 17678