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

(-)a/t/db_dependent/TestBuilder.t (-8 / +22 lines)
Lines 351-357 subtest 'Default values' => sub { Link Here
351
351
352
subtest 'build_object() tests' => sub {
352
subtest 'build_object() tests' => sub {
353
353
354
    plan tests => 6;
354
    plan tests => 5;
355
355
356
    $builder = t::lib::TestBuilder->new();
356
    $builder = t::lib::TestBuilder->new();
357
357
Lines 372-383 subtest 'build_object() tests' => sub { Link Here
372
        $categorycode, 'Category code correctly set' );
372
        $categorycode, 'Category code correctly set' );
373
    is( $issuing_rule->itemtype, $itemtype, 'Item type correctly set' );
373
    is( $issuing_rule->itemtype, $itemtype, 'Item type correctly set' );
374
374
375
    warning_is { $issuing_rule = $builder->build_object( {} ); }
376
    { carped => 'Missing class param' },
377
        'The class parameter is mandatory, raises a warning if absent';
378
    is( $issuing_rule, undef,
379
        'If the class parameter is missing, undef is returned' );
380
381
    subtest 'Test all classes' => sub {
375
    subtest 'Test all classes' => sub {
382
        my $Koha_modules_dir = dirname(__FILE__) . '/../../Koha';
376
        my $Koha_modules_dir = dirname(__FILE__) . '/../../Koha';
383
        my @koha_object_based_modules = `/bin/grep -rl -e '^sub object_class' $Koha_modules_dir`;
377
        my @koha_object_based_modules = `/bin/grep -rl -e '^sub object_class' $Koha_modules_dir`;
Lines 394-403 subtest 'build_object() tests' => sub { Link Here
394
            is( ref($object), $module->object_class, "Testing $module" );
388
            is( ref($object), $module->object_class, "Testing $module" );
395
        }
389
        }
396
    };
390
    };
391
392
    subtest 'test parameters' => sub {
393
        plan tests => 3;
394
395
        warning_is { $issuing_rule = $builder->build_object( {} ); }
396
        { carped => 'Missing class param' },
397
            'The class parameter is mandatory, raises a warning if absent';
398
        is( $issuing_rule, undef,
399
            'If the class parameter is missing, undef is returned' );
400
401
        warnings_like {
402
            $builder->build_object(
403
                { class => 'Koha::Patrons', categorycode => 'foobar' } );
404
        } qr{Unknown parameter\(s\): categorycode}, "";
405
    };
397
};
406
};
398
407
399
subtest '->build parameter' => sub {
408
subtest '->build parameter' => sub {
400
    plan tests => 3;
409
    plan tests => 4;
401
410
402
    # Test to make sure build() warns user of unknown parameters.
411
    # Test to make sure build() warns user of unknown parameters.
403
    warnings_are {
412
    warnings_are {
Lines 421-426 subtest '->build parameter' => sub { Link Here
421
            zource     => 'Branch', # Intentional spelling error
430
            zource     => 'Branch', # Intentional spelling error
422
        })
431
        })
423
    } qr/Source parameter not specified/, "Catch warning on missing source";
432
    } qr/Source parameter not specified/, "Catch warning on missing source";
433
434
    warnings_like {
435
        $builder->build(
436
            { source => 'Borrower', categorycode => 'foobar' } );
437
    } qr{Unknown parameter\(s\): categorycode}, "";
424
};
438
};
425
439
426
$schema->storage->txn_rollback;
440
$schema->storage->txn_rollback;
(-)a/t/lib/TestBuilder.pm (-1 / +3 lines)
Lines 76-81 sub build_object { Link Here
76
        return;
76
        return;
77
    }
77
    }
78
78
79
    my @unknowns = grep( !/^(class|value)$/, keys %{ $params });
80
    carp "Unknown parameter(s): ", join( ', ', @unknowns ) if scalar @unknowns;
81
79
    load $class;
82
    load $class;
80
    my $source = $class->_type;
83
    my $source = $class->_type;
81
    my @pks = $self->schema->source( $class->_type )->primary_columns;
84
    my @pks = $self->schema->source( $class->_type )->primary_columns;
82
- 

Return to bug 22930