This commit was generated by cvs2svn to compensate for changes in r12472,
[freeside.git] / rt / t / api / cf_rights.t
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4
5 use RT;
6 use RT::Test tests => 12;
7
8 my $q = RT::Queue->new($RT::SystemUser);
9 my ($id,$msg) =$q->Create(Name => "CF-Rights-".$$);
10 ok($id,$msg);
11
12 my $cf = RT::CustomField->new($RT::SystemUser);
13 ($id,$msg) = $cf->Create(Name => 'CF-'.$$, Type => 'Select', MaxValues => '1', Queue => $q->id);
14 ok($id,$msg);
15
16
17 ($id,$msg) =$cf->AddValue(Name => 'First');
18 ok($id,$msg);
19
20 my $u = RT::User->new($RT::SystemUser);
21 ($id,$msg) = $u->Create( Name => 'User1', Privileged => 1 );
22 ok ($id,$msg);
23
24 ($id,$msg) = $u->PrincipalObj->GrantRight( Object => $cf, Right => 'SeeCustomField' );
25 ok ($id,$msg);
26
27 my $ucf = RT::CustomField->new($u);
28 ($id,$msg) = $ucf->Load( $cf->Id );
29 ok ($id,$msg);
30
31 my $cfv = $ucf->Values->First;
32
33 ($id,$msg) = $cfv->SetName( 'First1' );
34 ok (!$id,$msg);
35
36 ($id,$msg) = $u->PrincipalObj->GrantRight( Object => $cf, Right => 'AdminCustomFieldValues' );
37 ok ($id,$msg);
38
39 ($id,$msg) = $cfv->SetName( 'First2' );
40 ok ($id,$msg);
41
42 ($id,$msg) = $u->PrincipalObj->RevokeRight( Object => $cf, Right => 'AdminCustomFieldValues' );
43 ok ($id,$msg);
44
45 ($id,$msg) = $u->PrincipalObj->GrantRight( Object => $cf, Right => 'AdminCustomField' );
46 ok ($id,$msg);
47
48 ($id,$msg) = $cfv->SetName( 'First3' );
49 ok ($id,$msg);
50
51 1;