first pass RT4 merge, RT#13852
[freeside.git] / rt / t / web / search_tabs.t
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4
5 use RT::Test tests => 21;
6 my ($baseurl, $agent) = RT::Test->started_ok;
7
8 my $ticket = RT::Ticket->new(RT->SystemUser);
9 for ( 1 .. 3 ) {
10     $ticket->Create(
11         Subject   => 'Ticket ' . $_,
12         Queue     => 'General',
13         Owner     => 'root',
14         Requestor => 'clownman@localhost',
15     );
16 }
17
18 ok $agent->login('root', 'password'), 'logged in as root';
19
20 # [issues.bestpractical.com #16841] {
21 $agent->get_ok('/Search/Build.html');
22
23 $agent->form_name('BuildQuery');
24 $agent->field('idOp', '=');
25 $agent->field('ValueOfid', '1');
26 $agent->submit('AddClause');
27
28 $agent->form_name('BuildQuery');
29 $agent->field('idOp', '=');
30 $agent->field('ValueOfid', '2');
31 $agent->field('AndOr', 'OR');
32 $agent->submit('AddClause');
33
34 $agent->follow_link_ok({id => 'page-results'});
35 $agent->title_is('Found 2 tickets');
36 # }
37
38 # [issues.bestpractical.com #17237] {
39 $agent->follow_link_ok({text => 'New Search'});
40 $agent->title_is('Query Builder');
41
42 $agent->form_name('BuildQuery');
43 $agent->field('idOp', '=');
44 $agent->field('ValueOfid', '1');
45 $agent->submit('AddClause');
46
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');
52
53 $agent->title_is('Found 2 tickets');
54
55 $agent->follow_link_ok({id => 'page-results'});
56 $agent->title_is('Found 2 tickets');
57 # }
58
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');
64
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');
69
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');
76
77 $agent->title_is('Found 3 tickets');
78
79 $agent->follow_link_ok({text => 'Chart'});
80 $agent->text_contains('id = 1 OR id = 2 OR id = 3');
81
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');
86