5 use RT::Test tests => 28;
6 my ( $url, $m ) = RT::Test->started_ok;
7 ok( $m->login, 'logged in' );
9 my $rtname = RT->Config->Get('rtname');
14 my ( @link_tickets, @search_tickets );
16 my $link_ticket = RT::Ticket->new($RT::SystemUser);
17 my ( $ret, $msg ) = $link_ticket->Create(
18 Subject => "link ticket $_",
21 Requestor => 'root@localhost',
23 ok( $ret, "link ticket created: $msg" );
24 push @link_tickets, $ret;
28 my $ticket = RT::Ticket->new($RT::SystemUser);
29 my ( $ret, $msg ) = $ticket->Create(
30 Subject => "search ticket $_",
33 Requestor => 'root@localhost',
35 ok( $ret, "search ticket created: $msg" );
36 push @search_tickets, $ret;
39 # let's add link to 1 search ticket first
40 $m->get_ok( $url . "/Search/Bulk.html?Query=id=$search_tickets[0]&Rows=10" );
41 $m->content_contains( 'Current Links', 'has current links part' );
42 $m->content_lacks( 'DeleteLink--', 'no delete link stuff' );
46 'Ticket-DependsOn' => $link_tickets[0],
47 'Ticket-MemberOf' => $link_tickets[1],
48 'Ticket-RefersTo' => $link_tickets[2],
52 "Ticket $search_tickets[0] depends on Ticket $link_tickets[0]",
56 "Ticket $search_tickets[0] member of Ticket $link_tickets[1]",
60 "Ticket $search_tickets[0] refers to Ticket $link_tickets[2]",
65 "DeleteLink--DependsOn-fsck.com-rt://$rtname/ticket/$link_tickets[0]",
66 'found depends on link' );
68 "DeleteLink--MemberOf-fsck.com-rt://$rtname/ticket/$link_tickets[1]",
69 'found member of link' );
71 "DeleteLink--RefersTo-fsck.com-rt://$rtname/ticket/$link_tickets[2]",
72 'found refers to link' );
74 # here we check the *real* bulk update
75 my $query = join ' OR ', map { "id=$_" } @search_tickets;
76 $m->get_ok( $url . "/Search/Bulk.html?Query=$query&Rows=10" );
77 $m->content_contains( 'Current Links', 'has current links part' );
78 $m->content_lacks( 'DeleteLink--', 'no delete link stuff' );
80 # test DependsOn, MemberOf and RefersTo
84 'Ticket-DependsOn' => $link_tickets[0],
85 'Ticket-MemberOf' => $link_tickets[1],
86 'Ticket-RefersTo' => $link_tickets[2],
91 "DeleteLink--DependsOn-fsck.com-rt://$rtname/ticket/$link_tickets[0]",
92 'found depends on link' );
94 "DeleteLink--MemberOf-fsck.com-rt://$rtname/ticket/$link_tickets[1]",
95 'found member of link' );
97 "DeleteLink--RefersTo-fsck.com-rt://$rtname/ticket/$link_tickets[2]",
98 'found refers to link' );
103 "DeleteLink--DependsOn-fsck.com-rt://$rtname/ticket/$link_tickets[0]" =>
105 "DeleteLink--MemberOf-fsck.com-rt://$rtname/ticket/$link_tickets[1]" =>
107 "DeleteLink--RefersTo-fsck.com-rt://$rtname/ticket/$link_tickets[2]" =>
112 $m->content_lacks( 'DeleteLink--', 'links are all deleted' );
114 # test DependedOnBy, Members and ReferredToBy
119 'DependsOn-Ticket' => $link_tickets[0],
120 'MemberOf-Ticket' => $link_tickets[1],
121 'RefersTo-Ticket' => $link_tickets[2],
125 $m->content_contains(
126 "DeleteLink-fsck.com-rt://$rtname/ticket/$link_tickets[0]-DependsOn-",
127 'found depended on link' );
128 $m->content_contains(
129 "DeleteLink-fsck.com-rt://$rtname/ticket/$link_tickets[1]-MemberOf-",
130 'found members link' );
131 $m->content_contains(
132 "DeleteLink-fsck.com-rt://$rtname/ticket/$link_tickets[2]-RefersTo-",
133 'found referrd to link' );
138 "DeleteLink-fsck.com-rt://$rtname/ticket/$link_tickets[0]-DependsOn-" =>
140 "DeleteLink-fsck.com-rt://$rtname/ticket/$link_tickets[1]-MemberOf-" =>
142 "DeleteLink-fsck.com-rt://$rtname/ticket/$link_tickets[2]-RefersTo-" =>
146 $m->content_lacks( 'DeleteLink--', 'links are all deleted' );