X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fshredder%2F03plugin_tickets.t;h=dd2b120c43dc3b94b9d6c432101908e51d6367b5;hb=refs%2Fheads%2FFREESIDE_4_BRANCH;hp=092b57052bb04bb4979ae08d223ec8947a519390;hpb=43a06151e47d2c59b833cbd8c26d97865ee850b6;p=freeside.git diff --git a/rt/t/shredder/03plugin_tickets.t b/rt/t/shredder/03plugin_tickets.t index 092b57052..dd2b120c4 100644 --- a/rt/t/shredder/03plugin_tickets.t +++ b/rt/t/shredder/03plugin_tickets.t @@ -1,18 +1,12 @@ -#!/usr/bin/perl -w use strict; use warnings; use Test::Deep; -use File::Spec; -use Test::More tests => 44; -use RT::Test (); -BEGIN { - my $shredder_utils = RT::Test::get_relocatable_file('utils.pl', - File::Spec->curdir()); - require $shredder_utils; -} +use RT::Test::Shredder tests => 49; +my $test = "RT::Test::Shredder"; +use_ok('RT::Shredder'); use_ok('RT::Shredder::Plugin::Tickets'); { @@ -22,8 +16,7 @@ use_ok('RT::Shredder::Plugin::Tickets'); is(lc $plugin->Type, 'search', 'correct type'); } -init_db(); -create_savepoint('clean'); +$test->create_savepoint('clean'); use_ok('RT::Ticket'); use_ok('RT::Tickets'); @@ -34,6 +27,7 @@ use_ok('RT::Tickets'); 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 = RT::Shredder::Plugin::Tickets->new; isa_ok($plugin, 'RT::Shredder::Plugin::Tickets'); @@ -59,11 +53,12 @@ use_ok('RT::Tickets'); ok($has{$pid}, "parent is in the result set"); ok($has{$cid}, "child is in the result set"); - my $shredder = shredder_new(); + my $shredder = $test->shredder_new(); $shredder->PutObjects( Objects => \@objs ); $shredder->WipeoutAll; + $test->db_is_valid; } -cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint"); +cmp_deeply( $test->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 ); @@ -77,6 +72,8 @@ cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint" my ($status, $msg) = $child->AddLink( Target => $pid, Type => 'DependsOn' ); ok($status, "added reqursive link") or diag "error: $msg"; + $_->ApplyTransactionBatch for $parent, $child; + my $plugin = RT::Shredder::Plugin::Tickets->new; isa_ok($plugin, 'RT::Shredder::Plugin::Tickets'); @@ -101,11 +98,12 @@ cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint" ok($has{$pid}, "parent is in the result set"); ok($has{$cid}, "child is in the result set"); - my $shredder = shredder_new(); + my $shredder = $test->shredder_new(); $shredder->PutObjects( Objects => \@objs ); $shredder->WipeoutAll; + $test->db_is_valid; } -cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint"); +cmp_deeply( $test->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 ); @@ -121,6 +119,8 @@ cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint" ok( $cid2, "created new ticket" ); $child2->SetStatus('resolved'); + $_->ApplyTransactionBatch for $parent, $child1, $child2; + my $plugin = RT::Shredder::Plugin::Tickets->new; isa_ok($plugin, 'RT::Shredder::Plugin::Tickets'); @@ -137,9 +137,10 @@ cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint" ok(!$has{$cid1}, "first child is in the result set"); ok($has{$cid2}, "second child is in the result set"); - my $shredder = shredder_new(); + my $shredder = $test->shredder_new(); $shredder->PutObjects( Objects => \@objs ); $shredder->WipeoutAll; + $test->db_is_valid; my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Load( $cid1 ); @@ -147,5 +148,6 @@ cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint" $shredder->PutObjects( Objects => $ticket ); $shredder->WipeoutAll; + $test->db_is_valid; } -cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint"); +cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");