5 use RT::Test tests => undef;
9 my $create_user = RT::User->new(RT->SystemUser);
10 isa_ok($create_user, 'RT::User');
11 my ($ret, $msg) = $create_user->Create(Name => 'CreateTest1'.$$,
12 EmailAddress => $$.'create-test-1@example.com');
13 ok ($ret, "Creating user CreateTest1 - " . $msg );
15 # Create object to operate as the test user
16 my $user1 = RT::User->new($create_user);
17 ($ret, $msg) = $user1->Load($create_user->Id);
18 ok ($ret, "Loaded the new user $msg");
20 diag "Set a search preference";
22 'Order' => 'DESC|ASC|ASC|ASC',
24 'Format' => '\'<a href="__WebPath__/Ticket/Display.html?id=__id__">__id__</a>/TITLE:#\',
25 \'<a href="__WebPath__/Ticket/Display.html?id=__id__">__Subject__</a>/TITLE:Subject\',
28 \'__ExtendedStatus__\',
33 ok (!$user1->HasRight( Right => 'ModifySelf', Object => $RT::System), "Can't ModifySelf");
34 ($ret, $msg) = $user1->SetPreferences("SearchDisplay", $prefs);
35 ok( !$ret, "No permission to set preferences");
36 ok (($ret, $msg) = $create_user->PrincipalObj->GrantRight( Right => 'ModifySelf'),
37 "Granted ModifySelf");
38 ($ret, $msg) = $user1->SetPreferences("SearchDisplay", $prefs);
39 ok( $ret, "Search preference set");
41 diag "Fetch preference";
42 ok (my $saved_prefs = $user1->Preferences("SearchDisplay"), "Fetched prefs");
43 is ($prefs->{OrderBy}, 'Due', "Prefs look ok");
46 ok (($ret, $msg) = $create_user->PrincipalObj->RevokeRight( Right => 'ModifySelf'),
47 "Revoked ModifySelf");
48 ($ret, $msg) = $user1->DeletePreferences("SearchDisplay");
49 ok( !$ret, "No permission to delete preferences");
50 ok (($ret, $msg) = $create_user->PrincipalObj->GrantRight( Right => 'ModifySelf'),
51 "Granted ModifySelf");
52 ($ret, $msg) = $user1->DeletePreferences("SearchDisplay");
53 ok( $ret, "Search preference deleted");
55 $saved_prefs = $user1->Preferences("SearchDisplay");
56 ok (!$saved_prefs, "No saved preferences returned");