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