use strict;
use warnings;
use RT;
-use RT::Test tests => 111;
+use RT::Test tests => 122;
{
ok(my $u = RT::User->new(RT->SystemUser));
ok($u->Load(1), "Loaded the first user");
-is($u->PrincipalObj->ObjectId , 1, "user 1 is the first principal");
+is($u->PrincipalObj->id , 1, "user 1 is the first principal");
is($u->PrincipalObj->PrincipalType, 'User' , "Principal 1 is a user, not a group");
}
+{
+ my $root = RT::Test->load_or_create_user( Name => 'root' );
+ ok $root && $root->id;
+
+ my $queue = RT::Test->load_or_create_queue( Name => 'General' );
+ ok $queue && $queue->id;
+
+ my $ticket = RT::Ticket->new( RT->SystemUser );
+ my ($id) = $ticket->Create( Subject => 'test', Queue => $queue );
+ ok $id;
+
+ my $b_ticket = RT::Ticket->new( RT->SystemUser );
+ ($id) = $b_ticket->Create( Subject => 'test', Queue => $queue );
+ ok $id;
+
+ ok $root->ToggleBookmark($b_ticket);
+ ok !$root->ToggleBookmark($b_ticket);
+ ok $root->ToggleBookmark($b_ticket);
+
+ ok $root->HasBookmark( $b_ticket );
+ ok !$root->HasBookmark( $ticket );
+
+ my @marks = $root->Bookmarks;
+ is scalar @marks, 1;
+ is $marks[0], $b_ticket->id;
+}
+