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

(-)a/t/Koha_MetadataRecord.t (-4 / +50 lines)
Lines 17-26 Link Here
17
# You should have received a copy of the GNU General Public License
17
# You should have received a copy of the GNU General Public License
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
19
20
use strict;
20
use Modern::Perl;
21
use warnings;
22
21
23
use Test::More tests => 4;
22
use Test::More tests => 5;
23
use Test::Warn;
24
24
25
BEGIN {
25
BEGIN {
26
        use_ok('Koha::MetadataRecord');
26
        use_ok('Koha::MetadataRecord');
Lines 96-98 foreach my $field (@$hash) { Link Here
96
is_deeply($hash, $samplehash, 'Generated hash correctly');
96
is_deeply($hash, $samplehash, 'Generated hash correctly');
97
my $dupkeys = grep { $_ > 1 } values %fieldkeys;
97
my $dupkeys = grep { $_ > 1 } values %fieldkeys;
98
is($dupkeys, 0, 'No duplicate keys');
98
is($dupkeys, 0, 'No duplicate keys');
99
- 
99
100
101
subtest "new() tests" => sub {
102
103
    plan tests => 10;
104
105
    # Test default values with a MARC::Record record
106
    my $record = MARC::Record->new();
107
    my $metadata_record = new Koha::MetadataRecord({
108
        record => $record,
109
        schema => undef,
110
        format => undef
111
    });
112
113
    is( ref($metadata_record), 'Koha::MetadataRecord', 'Type correct');
114
    is( ref($metadata_record->record), 'MARC::Record', 'Record type preserved');
115
    is( $metadata_record->schema, 'marc21', 'Metadata schema defaults to marc21');
116
    is( $metadata_record->format, 'usmarc', 'Serializacion format defaults to usmarc');
117
118
    # Test passed values, also no constraint on record type
119
    my $weird_record = {};
120
    bless $weird_record, 'Weird::Class';
121
122
    $metadata_record = new Koha::MetadataRecord({
123
        record => $weird_record,
124
        schema => 'something',
125
        format => 'else'
126
    });
127
128
    is( ref($metadata_record), 'Koha::MetadataRecord', 'Type correct');
129
    is( ref($metadata_record->record), 'Weird::Class', 'Record type preserved');
130
    is( $metadata_record->schema, 'something', 'Metadata schema correctly set');
131
    is( $metadata_record->format, 'else', 'Serializacion format correctly set');
132
133
    # Having a record object is mandatory
134
    warning_is { $metadata_record = new Koha::MetadataRecord({
135
                                        record => undef,
136
                                        schema => 'something',
137
                                        format => 'else'
138
                                    }) }
139
                { carped => 'No record passed' },
140
                'Undefined record raises carped warning';
141
142
    is( $metadata_record, undef, 'record object mandatory')
143
};
144
145
1;

Return to bug 14639