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

(-)a/t/db_dependent/Koha/MarcOrder.t (-20 / +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 320-368 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
320
    my $client_item_fields = {
325
    my $client_item_fields = {
321
        'notforloans' => [
326
        'notforloans' => [
322
            '',
327
            '',
323
            ''
324
        ],
328
        ],
325
        'c_budget_id'       => 2,
329
        'c_budget_id'       => 2,
326
        'replacementprices' => [
330
        'replacementprices' => [
327
            '0.00',
331
            '0.00',
328
            '0.00'
329
        ],
332
        ],
330
        'uris' => [
333
        'uris' => [
331
            '',
334
            '',
332
            ''
333
        ],
335
        ],
334
        'c_replacement_price' => '0.00',
336
        'c_replacement_price' => '0.00',
335
        'public_notes'        => [
337
        'public_notes'        => [''],
336
            '',
338
        'itemcallnumbers'     => [
337
            ''
338
        ],
339
        'itemcallnumbers' => [
340
            '',
339
            '',
341
            ''
342
        ],
340
        ],
343
        'budget_codes' => [
341
        'budget_codes' => [
344
            '',
342
            '',
345
            ''
346
        ],
343
        ],
347
        'nonpublic_notes' => [
344
        'nonpublic_notes' => [
348
            '',
345
            '',
349
            ''
350
        ],
346
        ],
351
        'homebranches' => [
347
        'homebranches' => [
352
            'CPL',
348
            'CPL',
353
            'CPL'
354
        ],
349
        ],
355
        'copynos' => [
350
        'copynos' => [
356
            '',
351
            '',
357
            ''
358
        ],
352
        ],
359
        'holdingbranches' => [
353
        'holdingbranches' => [
360
            'CPL',
354
            'CPL',
361
            'CPL'
362
        ],
355
        ],
363
        'ccodes' => [
356
        'ccodes' => [
364
            '',
357
            '',
365
            ''
366
        ],
358
        ],
367
        'locs' => [
359
        'locs' => [
368
            '',
360
            '',
Lines 370-376 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
370
        ],
362
        ],
371
        'itemprices' => [
363
        'itemprices' => [
372
            '10.00',
364
            '10.00',
373
            '10.00'
374
        ],
365
        ],
375
        'c_discount' => '',
366
        'c_discount' => '',
376
        'c_price'    => '0.00',
367
        'c_price'    => '0.00',
Lines 379-385 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
379
        'c_quantity' => '1',
370
        'c_quantity' => '1',
380
        'itypes'     => [
371
        'itypes'     => [
381
            'BK',
372
            'BK',
382
            'BK'
383
        ],
373
        ],
384
        'coded_location_qualifiers' => [],
374
        'coded_location_qualifiers' => [],
385
        'barcodes'                  => [],
375
        'barcodes'                  => [],
Lines 408-414 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
408
        "Listprice has been created successfully"
398
        "Listprice has been created successfully"
409
    );
399
    );
410
    is(
400
    is(
411
        @{$orders}[0]->{quantity}, 2,
401
        @{$orders}[0]->{quantity}, 1,
412
        "Quantity has been read correctly"
402
        "Quantity has been read correctly"
413
    );
403
    );
414
    is(
404
    is(
Lines 430-432 subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { Link Here
430
    $schema->storage->txn_rollback;
420
    $schema->storage->txn_rollback;
431
};
421
};
432
422
433
- 
423
subtest 'match_file_to_account' => sub {
424
    plan tests => 2;
425
426
    $schema->storage->txn_begin;
427
428
    my ( $fh, $name ) = tempfile( SUFFIX => '.marcxml' );
429
430
    my $rec = MARC::Record->new;
431
    my $fld = MARC::Field->new( '975', '', '', 'p', '12345' );
432
    $rec->append_fields($fld);
433
    my $str = $rec->as_xml;
434
435
    print $fh $str;
436
437
    close $fh;
438
439
    my $account1 = Koha::MarcOrderAccount->new(
440
        {
441
            match_field => '975$p',
442
            match_value => '12345',
443
            encoding    => 'UTF-8',
444
            description => 'test',
445
        }
446
    )->store;
447
448
    my $file_match = Koha::MarcOrder->match_file_to_account(
449
        {
450
            filename => $name,
451
            filepath => $name,
452
            profile  => $account1,
453
        }
454
    );
455
456
    is( $file_match, 1, 'File matched correctly to the account' );
457
458
    my $account2 = Koha::MarcOrderAccount->new(
459
        {
460
            match_field => '975$p',
461
            match_value => 'abcde',
462
            encoding    => 'UTF-8',
463
            description => 'test',
464
        }
465
    )->store;
466
467
    my $file_match2 = Koha::MarcOrder->match_file_to_account(
468
        {
469
            filename => $name,
470
            filepath => $name,
471
            profile  => $account2,
472
        }
473
    );
474
475
    is( $file_match2, 0, 'File not matched to the account' );
476
477
    $schema->storage->txn_rollback;
478
};

Return to bug 34355