my ($self) = @_;
my $userid;
my $offset = 0;
- my $patron = Koha::Patron->new;
+ my $existing_userid = $self->userid;
my $firstname = $self->firstname // q{};
my $surname = $self->surname // q{};
#The script will "do" the following code and increment the $offset until the generated userid is unique
$userid = lc(($firstname)? "$firstname.$surname" : $surname);
$userid = unac_string('utf-8',$userid);
$userid .= $offset unless $offset == 0;
- $patron->userid( $userid );
+ $self->userid( $userid );
$offset++;
- } while (! $patron->has_valid_userid );
+ } while (! $self->has_valid_userid );
+
+ # Resetting to the previous value as the callers do not expect
+ # this method to modify the userid attribute
+ # This will be done later (move of AddMember and ModMember)
+ $self->userid( $existing_userid );
return $userid;
};
subtest 'generate_userid' => sub {
- plan tests => 6;
+ plan tests => 7;
my $library = $builder->build_object( { class => 'Koha::Libraries' } );
my $patron_category = $builder->build_object(
$userid = $new_patron->generate_userid;
is( $userid, $expected_userid_patron_1 . '2', 'generate_userid should generate the userid we expect' );
+ $patron_1 = Koha::Patrons->find($borrowernumber);
+ $patron_1->userid(undef);
+ $userid = $patron_1->generate_userid;
+ is( $userid, $expected_userid_patron_1, 'generate_userid should generate the userid we expect' );
+
# Cleanup
$patron_1->delete;
$patron_2->delete;