first pass RT4 merge, RT#13852
[freeside.git] / rt / t / web / custom_frontpage.t
1 #!/usr/bin/perl -w
2 use strict;
3
4 use RT::Test tests => 12;
5 my ($baseurl, $m) = RT::Test->started_ok;
6
7 my $url = $m->rt_base_url;
8
9 my $user_obj = RT::User->new(RT->SystemUser);
10 my ($ret, $msg) = $user_obj->LoadOrCreateByEmail('customer@example.com');
11 ok($ret, 'ACL test user creation');
12 $user_obj->SetName('customer');
13 $user_obj->SetPrivileged(1);
14 ($ret, $msg) = $user_obj->SetPassword('customer');
15 $user_obj->PrincipalObj->GrantRight(Right => 'LoadSavedSearch');
16 $user_obj->PrincipalObj->GrantRight(Right => 'EditSavedSearches');
17 $user_obj->PrincipalObj->GrantRight(Right => 'CreateSavedSearch');
18 $user_obj->PrincipalObj->GrantRight(Right => 'ModifySelf');
19
20 ok $m->login( customer => 'customer' ), "logged in";
21
22 $m->get ( $url."Search/Build.html");
23
24 #create a saved search
25 $m->form_name ('BuildQuery');
26
27 $m->field ( "ValueOfAttachment" => 'stupid');
28 $m->field ( "SavedSearchDescription" => 'stupid tickets');
29 $m->click_button (name => 'SavedSearchSave');
30
31 $m->get ( $url.'Prefs/MyRT.html' );
32 $m->content_contains('stupid tickets', 'saved search listed in rt at a glance items');
33
34 ok $m->login('root', 'password', logout => 1), 'we did log in as root';
35
36 $m->get ( $url.'Prefs/MyRT.html' );
37 $m->form_name ('SelectionBox-body');
38 # can't use submit form for mutli-valued select as it uses set_fields
39 $m->field ('body-Selected' => ['component-QuickCreate', 'system-Unowned Tickets', 'system-My Tickets']);
40 $m->click_button (name => 'remove');
41 $m->form_name ('SelectionBox-body');
42 #$m->click_button (name => 'body-Save');
43 $m->get ( $url );
44 $m->content_lacks ('highest priority tickets', 'remove everything from body pane');
45
46 $m->get ( $url.'Prefs/MyRT.html' );
47 $m->form_name ('SelectionBox-body');
48 $m->field ('body-Available' => ['component-QuickCreate', 'system-Unowned Tickets', 'system-My Tickets']);
49 $m->click_button (name => 'add');
50
51 $m->form_name ('SelectionBox-body');
52 $m->field ('body-Selected' => ['component-QuickCreate']);
53 $m->click_button (name => 'movedown');
54
55 $m->form_name ('SelectionBox-body');
56 $m->click_button (name => 'movedown');
57
58 $m->form_name ('SelectionBox-body');
59 #$m->click_button (name => 'body-Save');
60 $m->get ( $url );
61 $m->content_contains('highest priority tickets', 'adds them back');
62
63
64 #create a saved search with special chars
65 $m->get( $url . "Search/Build.html" );
66 $m->form_name('BuildQuery');
67 $m->field( "ValueOfAttachment"      => 'stupid' );
68 $m->field( "SavedSearchDescription" => 'special chars [test] [_1] ~[_1~]' );
69 $m->click_button( name => 'SavedSearchSave' );
70 my ($name) = $m->content =~ /value="(RT::User-\d+-SavedSearch-\d+)"/;
71 ok( $name, 'saved search name' );
72 $m->get( $url . 'Prefs/MyRT.html' );
73 $m->content_contains( 'special chars [test] [_1] ~[_1~]',
74     'saved search listed in rt at a glance items' );
75
76 $m->get( $url . 'Prefs/MyRT.html' );
77 $m->form_name('SelectionBox-body');
78 $m->field(
79     'body-Available' => [
80         'component-QuickCreate',
81         'system-Unowned Tickets',
82         'system-My Tickets',
83         'saved-' . $name,
84     ]
85 );
86 $m->click_button( name => 'add' );
87
88 $m->get($url);
89 $m->content_like( qr/special chars \[test\] \d+ \[_1\]/,
90     'special chars in titlebox' );