import rt 3.8.7
[freeside.git] / rt / t / shredder / 02template.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use warnings;
5
6 use Test::Deep;
7 use File::Spec;
8 use Test::More tests => 7;
9 use RT::Test ();
10 BEGIN {
11     my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
12         File::Spec->curdir());
13     require $shredder_utils;
14 }
15 init_db();
16
17
18 diag 'global template' if $ENV{'TEST_VERBOSE'};
19 {
20         create_savepoint('clean');
21     my $template = RT::Template->new( $RT::SystemUser );
22     my ($id, $msg) = $template->Create(
23         Name => 'my template',
24         Content => "\nsome content",
25     );
26     ok($id, 'created template') or diag "error: $msg";
27
28         my $shredder = shredder_new();
29         $shredder->PutObjects( Objects => $template );
30         $shredder->WipeoutAll;
31         cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
32 }
33
34 diag 'local template' if $ENV{'TEST_VERBOSE'};
35 {
36         create_savepoint('clean');
37     my $template = RT::Template->new( $RT::SystemUser );
38     my ($id, $msg) = $template->Create(
39         Name => 'my template',
40         Queue => 'General',
41         Content => "\nsome content",
42     );
43     ok($id, 'created template') or diag "error: $msg";
44
45         my $shredder = shredder_new();
46         $shredder->PutObjects( Objects => $template );
47         $shredder->WipeoutAll;
48         cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
49 }
50
51 diag 'template used in scrip' if $ENV{'TEST_VERBOSE'};
52 {
53         create_savepoint('clean');
54     my $template = RT::Template->new( $RT::SystemUser );
55     my ($id, $msg) = $template->Create(
56         Name => 'my template',
57         Queue => 'General',
58         Content => "\nsome content",
59     );
60     ok($id, 'created template') or diag "error: $msg";
61
62     my $scrip = RT::Scrip->new( $RT::SystemUser );
63     ($id, $msg) = $scrip->Create(
64         Description    => 'my scrip',
65         Queue          => 'General',
66         ScripCondition => 'On Create',
67         ScripAction    => 'Open Tickets',
68         Template       => $template->id,
69     );
70     ok($id, 'created scrip') or diag "error: $msg";
71
72         my $shredder = shredder_new();
73         $shredder->PutObjects( Objects => $template );
74         $shredder->WipeoutAll;
75         cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
76 }