#!/usr/bin/perl use strict; use warnings; use RT::Test nodata => 1, tests => 8; 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->follow_link_ok( {id => 'home-dashboard_create'}); $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");