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

(-)a/t/db_dependent/Acquisition/FillWithDefaultValues.t (-3 / +25 lines)
Lines 1-5 Link Here
1
use Modern::Perl;
1
use Modern::Perl;
2
use Test::More tests => 5;
2
use Test::More tests => 11;
3
use Test::MockModule;
3
use Test::MockModule;
4
4
5
use MARC::Record;
5
use MARC::Record;
Lines 21-27 $biblio_module->mock( Link Here
21
        {
21
        {
22
            # default value for an existing field
22
            # default value for an existing field
23
            '245' => {
23
            '245' => {
24
                c          => { defaultvalue => $default_author },
24
                c          => { defaultvalue => $default_author, mandatory => 1 },
25
                mandatory  => 0,
25
                mandatory  => 0,
26
                repeatable => 0,
26
                repeatable => 0,
27
                tab        => 0,
27
                tab        => 0,
Lines 32-37 $biblio_module->mock( Link Here
32
            '099' => {
32
            '099' => {
33
                x => { defaultvalue => $default_x },
33
                x => { defaultvalue => $default_x },
34
            },
34
            },
35
            '942' => {
36
                c => { defaultvalue => 'BK', mandatory => 1 },
37
                d => { defaultvalue => '942d_val' },
38
                f => { defaultvalue => '942f_val' },
39
            },
35
        };
40
        };
36
    }
41
    }
37
);
42
);
Lines 81-83 is_deeply( Link Here
81
    [ [ 'x', $default_x ] ],
86
    [ [ 'x', $default_x ] ],
82
    '099$x contains the default value'
87
    '099$x contains the default value'
83
);
88
);
84
- 
89
is( $record->subfield('942','d'), '942d_val', 'Check 942d' );
90
91
# Now test only_mandatory parameter
92
$record->delete_fields( $record->field('245') );
93
$record->delete_fields( $record->field('942') );
94
$record->append_fields( MARC::Field->new('942','','','f'=>'f val') );
95
# We deleted 245 and replaced 942. If we only apply mandatories, we should get
96
# back 245c again and 942c but not 942d. 942f should be left alone.
97
C4::Acquisition::FillWithDefaultValues($record, { only_mandatory => 1 });
98
@fields_245 = $record->field(245);
99
is( scalar @fields_245, 1, 'Only one 245 expected' );
100
is( $record->subfield('245','c'), $default_author, '245c restored' );
101
is( $record->subfield('942','c'), 'BK', '942c also restored' );
102
is( $record->subfield('942','d'), undef, '942d should not be there' );
103
is( $record->subfield('942','f'), 'f val', '942f untouched' );
104
105
# Rollback
106
$schema->storage->txn_begin;

Return to bug 24276