rt 4.2.14 (#13852)
[freeside.git] / rt / t / web / requestor_groups_edit_link.t
1
2 use strict;
3 use warnings;
4
5 use RT::Test tests => 11;
6
7 RT->Config->Set( ShowMoreAboutPrivilegedUsers    => 1 );
8
9 my ( $url, $m ) = RT::Test->started_ok;
10 my $user_a = RT::Test->load_or_create_user(
11     Name     => 'user_a',
12     Password => 'password',
13 );
14 ok( $user_a, 'created user user_a' );
15 ok(
16     RT::Test->set_rights(
17         {
18             Principal => $user_a,
19             Right     => [ qw/SeeQueue ShowTicket CreateTicket/ ]
20         },
21     ),
22     'set rights for user_a'
23 );
24
25 my $ticket = RT::Ticket->new(RT->SystemUser);
26 my ($id) = $ticket->Create(
27     Subject   => 'groups limit',
28     Queue     => 'General',
29     Requestor => $user_a->id,
30 );
31 ok( $id, 'created ticket' );
32
33
34 ok( $m->login( user_a => 'password' ), 'logged in as user_a' );
35
36 $m->goto_ticket($id);
37
38 ok(
39     !$m->find_link( text => 'Edit' ), 'no Edit link without AdminUsers permission'
40 );
41
42 ok(
43     RT::Test->add_rights(
44         {
45             Principal => $user_a,
46             Right     => [ qw/AdminUsers ShowConfigTab/ ]
47         },
48     ),
49     'add AdminUsers and ShowConfigTab rights for user_a'
50 );
51
52 $m->goto_ticket($id);
53 $m->follow_link_ok( { text => 'Edit' }, 'follow the Edit link' );
54 is( $m->uri, $url . "/Admin/Users/Memberships.html?id=" . $user_a->id, 'url is right' );
55