8 use Test::More tests => 15;
13 my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
14 File::Spec->curdir());
15 require $shredder_utils;
19 create_savepoint('clean');
25 my $ticket = RT::Ticket->new( $RT::SystemUser );
26 my ($id) = $ticket->Create( Subject => 'test', Queue => 1 );
27 ok( $id, "created new ticket" );
29 is( $ticket->Status, 'deleted', "successfuly changed status" );
31 my $tickets = RT::Tickets->new( $RT::SystemUser );
32 $tickets->{'allow_deleted_search'} = 1;
33 $tickets->LimitStatus( VALUE => 'deleted' );
34 is( $tickets->Count, 1, "found one deleted ticket" );
36 my $shredder = shredder_new();
37 $shredder->PutObjects( Objects => $tickets );
38 $shredder->WipeoutAll;
40 cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
43 my $parent = RT::Ticket->new( $RT::SystemUser );
44 my ($pid) = $parent->Create( Subject => 'test', Queue => 1 );
45 ok( $pid, "created new ticket" );
46 create_savepoint('parent_ticket');
48 my $child = RT::Ticket->new( $RT::SystemUser );
49 my ($cid) = $child->Create( Subject => 'test', Queue => 1 );
50 ok( $cid, "created new ticket" );
52 my ($status, $msg) = $parent->AddLink( Type => 'MemberOf', Target => $cid );
53 ok( $status, "Added link between tickets") or diag("error: $msg");
54 my $shredder = shredder_new();
55 $shredder->PutObjects( Objects => $child );
56 $shredder->WipeoutAll;
57 cmp_deeply( dump_current_and_savepoint('parent_ticket'), "current DB equal to savepoint");
59 $shredder->PutObjects( Objects => $parent );
60 $shredder->WipeoutAll;
62 cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
65 my $parent = RT::Ticket->new( $RT::SystemUser );
66 my ($pid) = $parent->Create( Subject => 'test', Queue => 1 );
67 ok( $pid, "created new ticket" );
68 my ($status, $msg) = $parent->Delete;
69 ok( $status, 'deleted parent ticket');
70 create_savepoint('parent_ticket');
72 my $child = RT::Ticket->new( $RT::SystemUser );
73 my ($cid) = $child->Create( Subject => 'test', Queue => 1 );
74 ok( $cid, "created new ticket" );
76 ($status, $msg) = $parent->AddLink( Type => 'DependsOn', Target => $cid );
77 ok( $status, "Added link between tickets") or diag("error: $msg");
78 my $shredder = shredder_new();
79 $shredder->PutObjects( Objects => $child );
80 $shredder->WipeoutAll;
81 cmp_deeply( dump_current_and_savepoint('parent_ticket'), "current DB equal to savepoint");
83 $shredder->PutObjects( Objects => $parent );
84 $shredder->WipeoutAll;
86 cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");