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