|
Lines 288-294
subtest 'Merging authorities should handle deletes (BZ 18070)' => sub {
Link Here
|
| 288 |
}; |
288 |
}; |
| 289 |
|
289 |
|
| 290 |
subtest "Test some specific postponed merge issues" => sub { |
290 |
subtest "Test some specific postponed merge issues" => sub { |
| 291 |
plan tests => 4; |
291 |
plan tests => 5; |
| 292 |
|
292 |
|
| 293 |
my $authmarc = MARC::Record->new; |
293 |
my $authmarc = MARC::Record->new; |
| 294 |
$authmarc->append_fields( MARC::Field->new( '109', '', '', 'a' => 'aa', b => 'bb' )); |
294 |
$authmarc->append_fields( MARC::Field->new( '109', '', '', 'a' => 'aa', b => 'bb' )); |
|
Lines 328-333
subtest "Test some specific postponed merge issues" => sub {
Link Here
|
| 328 |
$restored_mocks->{auth_mod}->unmock_all; |
328 |
$restored_mocks->{auth_mod}->unmock_all; |
| 329 |
$biblio = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
329 |
$biblio = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
| 330 |
is( $biblio->subfield('109', '9'), $id, 'If the 109 is no longer present, another modify merge would not bring it back' ); |
330 |
is( $biblio->subfield('109', '9'), $id, 'If the 109 is no longer present, another modify merge would not bring it back' ); |
|
|
331 |
# Bug 22437 however presented scenario C->B, B->A (B and A should have linkcount>limit) |
| 332 |
# This results in: postponed merge B->B, run merge C->B, delete C, and postponed A->A, postponed B->A, delete B |
| 333 |
# Showing what happens if merge.pl did not remove the B->B merge from the queue |
| 334 |
t::lib::Mocks::mock_preference('AuthorityMergeLimit', 2); |
| 335 |
@linkedrecords = ( 1, 2, 3 ); # these biblionumbers do not matter, count>=2 |
| 336 |
$id = AddAuthority( $authmarc, undef, $authtype1 ); # this is B |
| 337 |
$biblio->delete_fields( $biblio->field('109') ); # cleanup |
| 338 |
$biblio->append_fields( MARC::Field->new( '109', '', '', a => 'a', 9 => $id ) ); # a biblio connected to B |
| 339 |
ModBiblio( $biblio, $biblionumber, '' ); |
| 340 |
DelAuthority({ authid => $id, skip_merge => 1 }); # delete B when doing B->A |
| 341 |
merge({ mergefrom => $id, mergeto => $id, MARCto => undef, biblionumbers => [ $biblionumber ] }); # destructive B->B from cron |
| 342 |
$biblio = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
| 343 |
my @fields = $biblio->field('109'); |
| 344 |
is( scalar @fields, 0, 'No field 109: the B,B merge was destructive, so needs to be removed.' ); |
| 331 |
}; |
345 |
}; |
| 332 |
|
346 |
|
| 333 |
subtest "Graceful resolution of missing reporting tag" => sub { |
347 |
subtest "Graceful resolution of missing reporting tag" => sub { |
| 334 |
- |
|
|