|
Lines 230-233
sub biblioDiffUndefIndexes {
Link Here
|
| 230 |
t::lib::TestObjects::ObjectFactory->tearDownTestContext($testContext); |
230 |
t::lib::TestObjects::ObjectFactory->tearDownTestContext($testContext); |
| 231 |
} |
231 |
} |
| 232 |
|
232 |
|
|
|
233 |
|
| 234 |
|
| 235 |
subtest "Grep changes", \&grepChanges; |
| 236 |
sub grepChanges { |
| 237 |
my $testContext = {}; |
| 238 |
eval { |
| 239 |
my $records = t::db_dependent::Biblio::Diff::localRecords::create($testContext); |
| 240 |
my @recKeys = sort(keys(%$records)); |
| 241 |
|
| 242 |
my $diff = C4::Biblio::Diff->new( |
| 243 |
{excludedFields => ['999', '942', '952']}, |
| 244 |
$records->{ $recKeys[0] }, |
| 245 |
$records->{ $recKeys[1] }, |
| 246 |
$records->{ $recKeys[2] }, |
| 247 |
); |
| 248 |
my $d = $diff->diffRecords(); |
| 249 |
|
| 250 |
my $changes = C4::Biblio::Diff::grepChangedElements($d, [{f=>'020', sf=>'a'}, |
| 251 |
{f=>'041', sf=>'a'}, |
| 252 |
{f=>'003'}]); |
| 253 |
is(@$changes, 5, "Got five separate changes"); |
| 254 |
ok(blessed($changes->[0]) && $changes->[0]->isa('C4::Biblio::Diff::Change'), "Change is of correct type"); |
| 255 |
is($changes->[0]->getFieldCode, '020', "Field"); |
| 256 |
is($changes->[0]->getSubfieldCode, 'a', "Subfield"); |
| 257 |
is($changes->[0]->getVal(0), '9510108303', "Val1"); |
| 258 |
is($changes->[0]->getVal(1), '9510108304', "Val2"); |
| 259 |
is($changes->[0]->getVal(2), '9510108305', "Val3"); |
| 260 |
ok(blessed($changes->[4]) && $changes->[4]->isa('C4::Biblio::Diff::Change'), "Change is of correct type"); |
| 261 |
is($changes->[4]->getFieldCode, '003', "Field"); |
| 262 |
is($changes->[4]->getSubfieldCode, undef, "No subfield"); |
| 263 |
is($changes->[4]->getVal(0), 'KYYTI', "Val1"); |
| 264 |
is($changes->[4]->getVal(1), 'OUTI', "Val2"); |
| 265 |
is($changes->[4]->getVal(2), undef, "Val3"); |
| 266 |
|
| 267 |
|
| 268 |
}; |
| 269 |
if ($@) { |
| 270 |
ok(0, $@); |
| 271 |
} |
| 272 |
t::lib::TestObjects::ObjectFactory->tearDownTestContext($testContext); |
| 273 |
} |
| 274 |
|
| 275 |
|
| 276 |
|
| 233 |
done_testing(); |
277 |
done_testing(); |
| 234 |
- |
|
|