summaryrefslogtreecommitdiff
path: root/rt/t/ticket/merge.t
diff options
context:
space:
mode:
Diffstat (limited to 'rt/t/ticket/merge.t')
-rw-r--r--rt/t/ticket/merge.t137
1 files changed, 0 insertions, 137 deletions
diff --git a/rt/t/ticket/merge.t b/rt/t/ticket/merge.t
deleted file mode 100644
index 7c72fe08f..000000000
--- a/rt/t/ticket/merge.t
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-
-
-use RT;
-use RT::Test tests => '29';
-
-
-# validate that when merging two tickets, the comments from both tickets
-# are integrated into the new ticket
-{
- my $queue = RT::Queue->new($RT::SystemUser);
- my ($id,$msg) = $queue->Create(Name => 'MergeTest-'.rand(25));
- ok ($id,$msg);
-
- my $t1 = RT::Ticket->new($RT::SystemUser);
- 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);
-
- my $txns = $t1->Transactions;
- my $Comments = 0;
- while (my $txn = $txns->Next) {
- $Comments++ if ($txn->Type eq 'Comment');
- }
- is($Comments,1, "our first ticket has only one Comment");
-
- my $t2 = RT::Ticket->new($RT::SystemUser);
- my ($t2id,$t2transid, $t2msg) =$t2->Create ( Queue => $queue->Name, Subject => 'Merge test. duplicate');
- ok ($t2id, $t2msg);
-
-
-
- ($id, $msg) = $t2->Comment(Content => 'This is a commet on the duplicate');
- ok($id,$msg);
-
-
- $txns = $t2->Transactions;
- $Comments = 0;
- while (my $txn = $txns->Next) {
- $Comments++ if ($txn->Type eq 'Comment');
- }
- is($Comments,1, "our second ticket has only one Comment");
-
- ($id, $msg) = $t1->Comment(Content => 'This is a second Comment on the original');
- ok($id,$msg);
-
- $txns = $t1->Transactions;
- $Comments = 0;
- while (my $txn = $txns->Next) {
- $Comments++ if ($txn->Type eq 'Comment');
- }
- is($Comments,2, "our first ticket now has two Comments");
-
- ($id,$msg) = $t2->MergeInto($t1->id);
-
- ok($id,$msg);
- $txns = $t1->Transactions;
- $Comments = 0;
- while (my $txn = $txns->Next) {
- $Comments++ if ($txn->Type eq 'Comment');
- }
- is($Comments,3, "our first ticket now has three Comments - we merged safely");
-}
-
-# when you try to merge duplicate links on postgres, eveyrything goes to hell due to referential integrity constraints.
-{
- my $t = RT::Ticket->new($RT::SystemUser);
- $t->Create(Subject => 'Main', Queue => 'general');
-
- ok ($t->id);
- my $t2 = RT::Ticket->new($RT::SystemUser);
- $t2->Create(Subject => 'Second', Queue => 'general');
- ok ($t2->id);
-
- my $t3 = RT::Ticket->new($RT::SystemUser);
- $t3->Create(Subject => 'Third', Queue => 'general');
-
- ok ($t3->id);
-
- my ($id,$val);
- ($id,$val) = $t->AddLink(Type => 'DependsOn', Target => $t3->id);
- ok($id,$val);
- ($id,$val) = $t2->AddLink(Type => 'DependsOn', Target => $t3->id);
- ok($id,$val);
-
- ($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");
-}