diff options
author | ivan <ivan> | 2010-05-18 18:49:59 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-05-18 18:49:59 +0000 |
commit | e70abd21bab68b23488f7ef1ee2e693a3b365691 (patch) | |
tree | 75986ffa9ba6ab4f961f9033468a1344e1653408 /rt/t/ticket | |
parent | b4b0c7e72d7eaee2fbfc7022022c9698323203dd (diff) |
import rt 3.8.8
Diffstat (limited to 'rt/t/ticket')
-rw-r--r-- | rt/t/ticket/merge.t | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/rt/t/ticket/merge.t b/rt/t/ticket/merge.t index a714cb6cc..7c72fe08f 100644 --- a/rt/t/ticket/merge.t +++ b/rt/t/ticket/merge.t @@ -5,7 +5,7 @@ use warnings; use RT; -use RT::Test tests => '17'; +use RT::Test tests => '29'; # validate that when merging two tickets, the comments from both tickets @@ -16,7 +16,10 @@ use RT::Test tests => '17'; ok ($id,$msg); my $t1 = RT::Ticket->new($RT::SystemUser); - my ($tid,$transid, $t1msg) =$t1->Create ( Queue => $queue->Name, Subject => 'Merge test. orig'); + my ($tid,$transid, $t1msg) =$t1->Create( + Queue => $queue->Name, + Subject => 'Merge test. orig', + ); ok ($tid, $t1msg); ($id, $msg) = $t1->Comment(Content => 'This is a Comment on the original'); ok($id,$msg); @@ -90,3 +93,45 @@ use RT::Test tests => '17'; ($id,$val) = $t->MergeInto($t2->id); ok($id,$val); } + +my $user = RT::Test->load_or_create_user( + Name => 'a user', Password => 'password', +); +ok $user && $user->id, 'loaded or created user'; + +# check rights +{ + RT::Test->set_rights( + { Principal => 'Everyone', Right => [qw(SeeQueue ShowTicket CreateTicket OwnTicket TakeTicket)] }, + { Principal => 'Owner', Right => [qw(ModifyTicket)] }, + ); + + my $t = RT::Ticket->new(RT::CurrentUser->new($user)); + $t->Create(Subject => 'Main', Queue => 'general'); + ok ($t->id, "Created ticket"); + + my $t2 = RT::Ticket->new(RT::CurrentUser->new($user)); + $t2->Create(Subject => 'Second', Queue => 'general'); + ok ($t2->id, "Created ticket"); + + foreach my $ticket ( $t, $t2 ) { + ok( !$ticket->CurrentUserHasRight('ModifyTicket'), "can not modify" ); + } + + my ($status,$msg) = $t->MergeInto($t2->id); + ok(!$status, "Can not merge: $msg"); + + ($status, $msg) = $t->SetOwner( $user->id ); + ok( $status, "User took ticket"); + ok( $t->CurrentUserHasRight('ModifyTicket'), "can modify after take" ); + + ($status,$msg) = $t->MergeInto($t2->id); + ok(!$status, "Can not merge: $msg"); + + ($status, $msg) = $t2->SetOwner( $user->id ); + ok( $status, "User took ticket"); + ok( $t2->CurrentUserHasRight('ModifyTicket'), "can modify after take" ); + + ($status,$msg) = $t->MergeInto($t2->id); + ok($status, "Merged tickets: $msg"); +} |