X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fweb%2Fdashboards-permissions.t;fp=rt%2Ft%2Fweb%2Fdashboards-permissions.t;h=17240428999a0d2fbbc255e85e40e46c04da1f0f;hb=b4b0c7e72d7eaee2fbfc7022022c9698323203dd;hp=0000000000000000000000000000000000000000;hpb=2dfda73eeb3eae2d4f894099754794ef07d060dd;p=freeside.git diff --git a/rt/t/web/dashboards-permissions.t b/rt/t/web/dashboards-permissions.t new file mode 100644 index 000000000..172404289 --- /dev/null +++ b/rt/t/web/dashboards-permissions.t @@ -0,0 +1,38 @@ +#!/usr/bin/perl +use strict; +use warnings; + +use RT::Test tests => 7; +my ($baseurl, $m) = RT::Test->started_ok; + +my $url = $m->rt_base_url; + +# create user and queue {{{ +my $user_obj = RT::User->new($RT::SystemUser); +my ($ok, $msg) = $user_obj->LoadOrCreateByEmail('customer@example.com'); +ok($ok, 'ACL test user creation'); +$user_obj->SetName('customer'); +$user_obj->SetPrivileged(1); +($ok, $msg) = $user_obj->SetPassword('customer'); +$user_obj->PrincipalObj->GrantRight(Right => 'ModifySelf'); +my $currentuser = RT::CurrentUser->new($user_obj); + +my $queue = RT::Queue->new($RT::SystemUser); +$queue->Create(Name => 'SearchQueue'.$$); + +$user_obj->PrincipalObj->GrantRight(Right => $_, Object => $queue) + for qw/SeeQueue ShowTicket OwnTicket/; + +$user_obj->PrincipalObj->GrantRight(Right => $_, Object => $RT::System) + for qw/SubscribeDashboard CreateOwnDashboard SeeOwnDashboard ModifyOwnDashboard DeleteOwnDashboard/; +# }}} + +ok $m->login(customer => 'customer'), "logged in"; + +$m->get_ok("$url/Dashboards"); + +$m->follow_link_ok({text => "New"}); +$m->form_name('ModifyDashboard'); +is_deeply([$m->current_form->find_input('Privacy')->possible_values], ["RT::User-" . $user_obj->Id], "the only selectable privacy is user"); +$m->content_lacks('Delete', "Delete button hidden because we are creating"); +