5 use RT::Test tests => 21;
6 my ($baseurl, $agent) = RT::Test->started_ok;
8 my $ticket = RT::Ticket->new(RT->SystemUser);
11 Subject => 'Ticket ' . $_,
14 Requestor => 'clownman@localhost',
18 ok $agent->login('root', 'password'), 'logged in as root';
20 # [issues.bestpractical.com #16841] {
21 $agent->get_ok('/Search/Build.html');
23 $agent->form_name('BuildQuery');
24 $agent->field('idOp', '=');
25 $agent->field('ValueOfid', '1');
26 $agent->submit('AddClause');
28 $agent->form_name('BuildQuery');
29 $agent->field('idOp', '=');
30 $agent->field('ValueOfid', '2');
31 $agent->field('AndOr', 'OR');
32 $agent->submit('AddClause');
34 $agent->follow_link_ok({id => 'page-results'});
35 $agent->title_is('Found 2 tickets');
38 # [issues.bestpractical.com #17237] {
39 $agent->follow_link_ok({text => 'New Search'});
40 $agent->title_is('Query Builder');
42 $agent->form_name('BuildQuery');
43 $agent->field('idOp', '=');
44 $agent->field('ValueOfid', '1');
45 $agent->submit('AddClause');
47 $agent->form_name('BuildQuery');
48 $agent->field('idOp', '=');
49 $agent->field('ValueOfid', '2');
50 $agent->field('AndOr', 'OR');
51 $agent->click_button(name => 'DoSearch');
53 $agent->title_is('Found 2 tickets');
55 $agent->follow_link_ok({id => 'page-results'});
56 $agent->title_is('Found 2 tickets');
59 $agent->follow_link_ok({text => 'Chart'});
60 $agent->text_contains('id = 1 OR id = 2');
61 $agent->form_name('SaveSearch');
62 $agent->field('SavedSearchDescription' => 'this is my saved chart');
63 $agent->click_button(name => 'SavedSearchSave');
65 # Confirm that we saved the chart and that it's the "current chart"
66 $agent->text_contains('Chart this is my saved chart saved.');
67 $agent->form_name('SaveSearch');
68 is($agent->value('SavedSearchDescription'), 'this is my saved chart');
70 $agent->follow_link_ok({text => 'Edit Search'});
71 $agent->form_name('BuildQuery');
72 $agent->field('idOp', '=');
73 $agent->field('ValueOfid', '3');
74 $agent->field('AndOr', 'OR');
75 $agent->click_button(name => 'DoSearch');
77 $agent->title_is('Found 3 tickets');
79 $agent->follow_link_ok({text => 'Chart'});
80 $agent->text_contains('id = 1 OR id = 2 OR id = 3');
82 # The interesting bit: confirm that the chart we saved is still the
83 # "current chart" after roundtripping through search builder
84 $agent->form_name('SaveSearch');
85 is($agent->value('SavedSearchDescription'), 'this is my saved chart');