Bug 14195: TestBuilder - A random string should not be longer than the DB field
t::lib::TestBuilder::_gen_text does not use correctly the regex and the max parameter to generate the random string (String::Random). This can cause future tests to fail. http://bugs.koha-community.org/show_bug.cgi?id=14195 Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Script tested, problem occurs, patch fixes it. Bad number on commit subject No errors Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
53bd26fdaa
commit
ea41ef4ec9
2 changed files with 13 additions and 2 deletions
|
@ -236,6 +236,7 @@ is( $bookseller_result->in_storage, 1, 'build with only_fk = 1 creates the forei
|
|||
$bookseller = $builder->build({
|
||||
source => 'Aqbookseller',
|
||||
});
|
||||
ok( length( $bookseller->{phone} ) <= 30, 'The length for a generated string should not be longer than the size of the DB field' );
|
||||
delete $bookseller->{_fk};
|
||||
$bookseller_from_db = $rs_aqbookseller->find($bookseller);
|
||||
is( $bookseller_from_db->in_storage, 1, 'build without the parameter only_sk stores the entry correctly' );
|
||||
|
|
|
@ -288,8 +288,18 @@ sub _gen_date {
|
|||
|
||||
sub _gen_text {
|
||||
my ($self, $params) = @_;
|
||||
my $random = String::Random->new( max => $params->{info}->{size} );
|
||||
return $random->randregex('[A-Za-z]+[A-Za-z0-9_]*');
|
||||
# From perldoc String::Random
|
||||
# max: specify the maximum number of characters to return for * and other
|
||||
# regular expression patters that don't return a fixed number of characters
|
||||
my $regex = '[A-Za-z][A-Za-z0-9_]*';
|
||||
my $size = $params->{info}{size};
|
||||
if ( defined $size and $size > 1 ) {
|
||||
$size--;
|
||||
} elsif ( defined $size and $size == 1 ) {
|
||||
$regex = '[A-Za-z]';
|
||||
}
|
||||
my $random = String::Random->new( max => $size );
|
||||
return $random->randregex($regex);
|
||||
}
|
||||
|
||||
sub _gen_set_enum {
|
||||
|
|
Loading…
Reference in a new issue