Commit 69d45d10 authored by Max Kanat-Alexander's avatar Max Kanat-Alexander

Bug 601499 - Make xt/search.t test the email(n)* search query parameters

r=mkanat, a=mkanat (module owner)
parent fcc00da4
......@@ -28,6 +28,7 @@
package Bugzilla::Test::Search::Constants;
use base qw(Exporter);
use Bugzilla::Constants;
use Bugzilla::Util qw(generate_random_password);
our @EXPORT = qw(
ATTACHMENT_FIELDS
......@@ -146,12 +147,13 @@ use constant OR_SKIP => qw(
# All the fields that represent users.
use constant USER_FIELDS => qw(
assigned_to
cc
reporter
qa_contact
commenter
attachments.submitter
setters.login_name
requestees.login_name cc
requestees.login_name
);
# For the "substr"-type searches, how short of a substring should
......@@ -1256,6 +1258,16 @@ use constant SPECIAL_PARAM_TESTS => (
contains => [1,2,3,4] },
{ field => 'bug_status', operator => 'anyexact', value => '__all__',
contains => [1,2,3,4,5] },
{ field => 'assigned_to', operator => 'anyexact',
value => '<1>, <2-reporter>', contains => [1,2],
extra_params => { emailreporter1 => 1 } },
{ field => 'assigned_to', operator => 'equals',
value => '<1>', extra_name => 'email2', contains => [],
extra_params => {
email2 => generate_random_password(100), emaillongdesc2 => 1,
},
}
);
1;
......@@ -34,6 +34,8 @@ use constant CH_OPERATOR => {
changedto => 'chfieldvalue',
};
use constant EMAIL_FIELDS => qw(assigned_to qa_contact cc reporter commenter);
# Normally, we just clone a FieldTest because that's the best for performance,
# overall--that way we don't have to translate the value again. However,
# sometimes (like in Bugzilla::Test::Search's direct code) we just want
......@@ -78,6 +80,17 @@ sub search_params {
if ($field eq 'deadline' and $operator eq 'lessthaneq') {
return { deadlineto => $value };
}
if (grep { $_ eq $field } EMAIL_FIELDS) {
$field = 'longdesc' if $field eq 'commenter';
return {
email1 => $value,
"email${field}1" => 1,
emailtype1 => $operator,
# Used to do extra tests on special sorts of email* combinations.
%{ $self->test->{extra_params} || {} },
};
}
$field =~ s/\./_/g;
return { $field => $value, "${field}_type" => $operator };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment