X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fshredder%2F03plugin_tickets.t;h=1579bc54b37f4a3f5fb54ef78f6f3f7bbdc2ffa4;hb=8420caa62848813b7aeb2e6c1e2bb3430aa79d92;hp=3d742ff83330a375dca596248311e9ab931ddaa9;hpb=63a268637b2d51a8766412617724b9436439deb6;p=freeside.git diff --git a/rt/t/shredder/03plugin_tickets.t b/rt/t/shredder/03plugin_tickets.t index 3d742ff83..1579bc54b 100644 --- a/rt/t/shredder/03plugin_tickets.t +++ b/rt/t/shredder/03plugin_tickets.t @@ -1,11 +1,10 @@ -#!/usr/bin/perl -w use strict; use warnings; use Test::Deep; use File::Spec; -use Test::More tests => 44; +use Test::More tests => 44 + 1; # plus one for warnings check use RT::Test (); BEGIN { my $shredder_utils = RT::Test::get_relocatable_file('utils.pl', @@ -16,7 +15,7 @@ BEGIN { use_ok('RT::Shredder::Plugin::Tickets'); { - my $plugin = new RT::Shredder::Plugin::Tickets; + my $plugin = RT::Shredder::Plugin::Tickets->new; isa_ok($plugin, 'RT::Shredder::Plugin::Tickets'); is(lc $plugin->Type, 'search', 'correct type'); @@ -28,15 +27,15 @@ use_ok('RT::Ticket'); use_ok('RT::Tickets'); { # create parent and child and check functionality of 'with_linked' arg - my $parent = RT::Ticket->new( $RT::SystemUser ); + my $parent = RT::Ticket->new( RT->SystemUser ); my ($pid) = $parent->Create( Subject => 'parent', Queue => 1 ); ok( $pid, "created new ticket" ); - - my $child = RT::Ticket->new( $RT::SystemUser ); + my $child = RT::Ticket->new( RT->SystemUser ); my ($cid) = $child->Create( Subject => 'child', Queue => 1, MemberOf => $pid ); ok( $cid, "created new ticket" ); + $_->ApplyTransactionBatch for $parent, $child; - my $plugin = new RT::Shredder::Plugin::Tickets; + my $plugin = RT::Shredder::Plugin::Tickets->new; isa_ok($plugin, 'RT::Shredder::Plugin::Tickets'); my ($status, $msg, @objs); @@ -67,18 +66,20 @@ use_ok('RT::Tickets'); cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint"); { # create parent and child and link them reqursively to check that we don't hang - my $parent = RT::Ticket->new( $RT::SystemUser ); + my $parent = RT::Ticket->new( RT->SystemUser ); my ($pid) = $parent->Create( Subject => 'parent', Queue => 1 ); ok( $pid, "created new ticket" ); - my $child = RT::Ticket->new( $RT::SystemUser ); + my $child = RT::Ticket->new( RT->SystemUser ); my ($cid) = $child->Create( Subject => 'child', Queue => 1, MemberOf => $pid ); ok( $cid, "created new ticket" ); my ($status, $msg) = $child->AddLink( Target => $pid, Type => 'DependsOn' ); ok($status, "added reqursive link") or diag "error: $msg"; - my $plugin = new RT::Shredder::Plugin::Tickets; + $_->ApplyTransactionBatch for $parent, $child; + + my $plugin = RT::Shredder::Plugin::Tickets->new; isa_ok($plugin, 'RT::Shredder::Plugin::Tickets'); my (@objs); @@ -109,18 +110,22 @@ cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint" cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint"); { # create parent and child and check functionality of 'apply_query_to_linked' arg - my $parent = RT::Ticket->new( $RT::SystemUser ); - my ($pid) = $parent->Create( Subject => 'parent', Queue => 1, Status => 'resolved' ); + my $parent = RT::Ticket->new( RT->SystemUser ); + my ($pid) = $parent->Create( Subject => 'parent', Queue => 1 ); ok( $pid, "created new ticket" ); + $parent->SetStatus('resolved'); - my $child1 = RT::Ticket->new( $RT::SystemUser ); + my $child1 = RT::Ticket->new( RT->SystemUser ); my ($cid1) = $child1->Create( Subject => 'child', Queue => 1, MemberOf => $pid ); ok( $cid1, "created new ticket" ); - my $child2 = RT::Ticket->new( $RT::SystemUser ); - my ($cid2) = $child2->Create( Subject => 'child', Queue => 1, MemberOf => $pid, Status => 'resolved' ); + my $child2 = RT::Ticket->new( RT->SystemUser ); + my ($cid2) = $child2->Create( Subject => 'child', Queue => 1, MemberOf => $pid); ok( $cid2, "created new ticket" ); + $child2->SetStatus('resolved'); + + $_->ApplyTransactionBatch for $parent, $child1, $child2; - my $plugin = new RT::Shredder::Plugin::Tickets; + my $plugin = RT::Shredder::Plugin::Tickets->new; isa_ok($plugin, 'RT::Shredder::Plugin::Tickets'); my ($status, $msg) = $plugin->TestArgs( query => 'Status = "resolved"', apply_query_to_linked => 1 ); @@ -140,7 +145,7 @@ cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint" $shredder->PutObjects( Objects => \@objs ); $shredder->WipeoutAll; - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Load( $cid1 ); is($ticket->id, $cid1, 'loaded ticket');