summaryrefslogtreecommitdiff
path: root/rt/t/web/saved_search_permissions.t
diff options
context:
space:
mode:
Diffstat (limited to 'rt/t/web/saved_search_permissions.t')
-rw-r--r--rt/t/web/saved_search_permissions.t34
1 files changed, 34 insertions, 0 deletions
diff --git a/rt/t/web/saved_search_permissions.t b/rt/t/web/saved_search_permissions.t
new file mode 100644
index 000000000..f91ca13c6
--- /dev/null
+++ b/rt/t/web/saved_search_permissions.t
@@ -0,0 +1,34 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+use RT::Test tests => 10;
+my $user = RT::User->new($RT::SystemUser);
+ok(
+ $user->Create(
+ Name => 'foo',
+ Privileged => 1,
+ Password => 'foobar'
+ )
+);
+
+my ( $url, $m ) = RT::Test->started_ok;
+ok( $m->login, 'root logged in' );
+$m->get_ok( $url . '/Search/Build.html?Query=id<100' );
+$m->submit_form(
+ form_name => 'BuildQuery',
+ fields => { SavedSearchDescription => 'test' },
+ button => 'SavedSearchSave',
+);
+$m->content_contains( q{name="SavedSearchDescription" value="test"},
+ 'saved test search' );
+my ($id) = $m->content =~ /value="(RT::User-\d+-SavedSearch-\d+)"/;
+ok( $m->login( 'foo', 'foobar' ), 'logged in' );
+$m->get_ok( $url . "/Search/Build.html?SavedSearchLoad=$id" );
+
+my $message = qq{Can not load saved search "$id"};
+RT::Interface::Web::EscapeUTF8( \$message );
+$m->content_contains( $message, 'user foo can not load saved search of root' );
+
+$m->warning_like( qr/User #\d+ tried to load container user #\d+/,
+ 'get warning' );