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