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

(-)a/t/db_dependent/Koha/MarcOrder.t (-18 / +65 lines)
Lines 17-25 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 4;
20
use Test::More tests => 5;
21
21
22
use Koha::MarcOrder;
22
use Koha::MarcOrder;
23
use Koha::MarcOrderAccount;
23
use Koha::Acquisition::Baskets;
24
use Koha::Acquisition::Baskets;
24
use Koha::Acquisition::Bookseller;
25
use Koha::Acquisition::Bookseller;
25
use MARC::Record;
26
use MARC::Record;
Lines 29-34 use Koha::Database; Link Here
29
use t::lib::Mocks;
30
use t::lib::Mocks;
30
use t::lib::TestBuilder;
31
use t::lib::TestBuilder;
31
32
33
use File::Temp qw|tempfile|;
34
use MARC::Field;
35
use MARC::File::XML;
36
32
my $schema  = Koha::Database->new->schema;
37
my $schema  = Koha::Database->new->schema;
33
my $builder = t::lib::TestBuilder->new;
38
my $builder = t::lib::TestBuilder->new;
34
39
Lines 335-367 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
335
    my $client_item_fields = {
340
    my $client_item_fields = {
336
        'notforloans' => [
341
        'notforloans' => [
337
            '',
342
            '',
338
            ''
339
        ],
343
        ],
340
        'c_budget_id'       => 2,
344
        'c_budget_id'       => 2,
341
        'replacementprices' => [
345
        'replacementprices' => [
342
            '0.00',
346
            '0.00',
343
            '0.00'
344
        ],
347
        ],
345
        'uris' => [
348
        'uris' => [
346
            '',
349
            '',
347
            ''
348
        ],
350
        ],
349
        'c_replacement_price' => '0.00',
351
        'c_replacement_price' => '0.00',
350
        'public_notes'        => [
352
        'public_notes'        => [''],
351
            '',
353
        'itemcallnumbers'     => [
352
            ''
353
        ],
354
        'itemcallnumbers' => [
355
            '',
354
            '',
356
            ''
357
        ],
355
        ],
358
        'budget_codes' => [
356
        'budget_codes' => [
359
            '',
357
            '',
360
            ''
361
        ],
358
        ],
362
        'nonpublic_notes' => [
359
        'nonpublic_notes' => [
363
            '',
360
            '',
364
            ''
365
        ],
361
        ],
366
        'homebranches' => [
362
        'homebranches' => [
367
            $branchcode,
363
            $branchcode,
Lines 369-375 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
369
        ],
365
        ],
370
        'copynos' => [
366
        'copynos' => [
371
            '',
367
            '',
372
            ''
373
        ],
368
        ],
374
        'holdingbranches' => [
369
        'holdingbranches' => [
375
            $branchcode,
370
            $branchcode,
Lines 377-383 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
377
        ],
372
        ],
378
        'ccodes' => [
373
        'ccodes' => [
379
            '',
374
            '',
380
            ''
381
        ],
375
        ],
382
        'locs' => [
376
        'locs' => [
383
            '',
377
            '',
Lines 385-391 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
385
        ],
379
        ],
386
        'itemprices' => [
380
        'itemprices' => [
387
            '10.00',
381
            '10.00',
388
            '10.00'
389
        ],
382
        ],
390
        'c_discount' => '',
383
        'c_discount' => '',
391
        'c_price'    => '0.00',
384
        'c_price'    => '0.00',
Lines 394-400 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
394
        'c_quantity' => '1',
387
        'c_quantity' => '1',
395
        'itypes'     => [
388
        'itypes'     => [
396
            'BK',
389
            'BK',
397
            'BK'
398
        ],
390
        ],
399
        'coded_location_qualifiers' => [],
391
        'coded_location_qualifiers' => [],
400
        'barcodes'                  => [],
392
        'barcodes'                  => [],
Lines 426-432 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
426
        "Listprice has been created successfully"
418
        "Listprice has been created successfully"
427
    );
419
    );
428
    is(
420
    is(
429
        @{$orders}[0]->{quantity}, 2,
421
        @{$orders}[0]->{quantity}, 1,
430
        "Quantity has been read correctly"
422
        "Quantity has been read correctly"
431
    );
423
    );
432
    is(
424
    is(
Lines 448-450 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
448
    $schema->storage->txn_rollback;
440
    $schema->storage->txn_rollback;
449
};
441
};
450
442
451
- 
443
subtest 'match_file_to_account' => sub {
444
    plan tests => 2;
445
446
    $schema->storage->txn_begin;
447
448
    my ( $fh, $name ) = tempfile( SUFFIX => '.marcxml' );
449
450
    my $rec = MARC::Record->new;
451
    my $fld = MARC::Field->new( '975', '', '', 'p', '12345' );
452
    $rec->append_fields($fld);
453
    my $str = $rec->as_xml;
454
455
    print $fh $str;
456
457
    close $fh;
458
459
    my $account1 = Koha::MarcOrderAccount->new(
460
        {
461
            match_field => '975$p',
462
            match_value => '12345',
463
            encoding    => 'UTF-8',
464
            description => 'test',
465
        }
466
    )->store;
467
468
    my $file_match = Koha::MarcOrder->match_file_to_account(
469
        {
470
            filename => $name,
471
            filepath => $name,
472
            profile  => $account1,
473
        }
474
    );
475
476
    is( $file_match, 1, 'File matched correctly to the account' );
477
478
    my $account2 = Koha::MarcOrderAccount->new(
479
        {
480
            match_field => '975$p',
481
            match_value => 'abcde',
482
            encoding    => 'UTF-8',
483
            description => 'test',
484
        }
485
    )->store;
486
487
    my $file_match2 = Koha::MarcOrder->match_file_to_account(
488
        {
489
            filename => $name,
490
            filepath => $name,
491
            profile  => $account2,
492
        }
493
    );
494
495
    is( $file_match2, 0, 'File not matched to the account' );
496
497
    $schema->storage->txn_rollback;
498
};

Return to bug 34355