RT 4.2.11, ticket#13852
[freeside.git] / rt / t / lifecycles / utils.pl
1
2 use strict;
3 use warnings;
4
5
6 my $config;
7 BEGIN {
8 $config = <<END;
9 Set(\%Lifecycles,
10     default => {
11         initial  => [qw(new)],
12         active   => [qw(open stalled)],
13         inactive => [qw(resolved rejected deleted)],
14         defaults => {
15             on_create => 'new',
16             on_merge => 'resolved',
17         },
18         transitions => {
19             ''       => [qw(new open resolved)],
20             new      => [qw(open resolved rejected deleted)],
21             open     => [qw(stalled resolved rejected deleted)],
22             stalled  => [qw(open)],
23             resolved => [qw(open)],
24             rejected => [qw(open)],
25             deleted  => [qw(open)],
26         },
27         actions => {
28             'new -> open'     => {label => 'Open It', update => 'Respond'},
29             'new -> resolved' => {label => 'Resolve', update => 'Comment'},
30             'new -> rejected' => {label => 'Reject',  update => 'Respond'},
31             'new -> deleted'  => {label => 'Delete',  update => ''},
32
33             'open -> stalled'  => {label => 'Stall',   update => 'Comment'},
34             'open -> resolved' => {label => 'Resolve', update => 'Comment'},
35             'open -> rejected' => {label => 'Reject',  update => 'Respond'},
36
37             'stalled -> open'  => {label => 'Open It',  update => ''},
38             'resolved -> open' => {label => 'Re-open',  update => 'Comment'},
39             'rejected -> open' => {label => 'Re-open',  update => 'Comment'},
40             'deleted -> open'  => {label => 'Undelete', update => ''},
41         },
42     },
43     delivery => {
44         initial  => ['ordered'],
45         active   => ['on way', 'delayed'],
46         inactive => ['delivered'],
47         defaults => {
48             on_create => 'ordered',
49             on_merge => 'delivered',
50         },
51         transitions => {
52             ''        => ['ordered'],
53             ordered   => ['on way', 'delayed'],
54             'on way'  => ['delivered'],
55             delayed   => ['on way'],
56             delivered => [],
57         },
58         actions => {
59             'ordered -> on way'   => {label => 'Put On Way', update => 'Respond'},
60             'ordered -> delayed'  => {label => 'Delay',      update => 'Respond'},
61
62             'on way -> delivered' => {label => 'Done',       update => 'Respond'},
63             'delayed -> on way'   => {label => 'Put On Way', update => 'Respond'},
64         },
65     },
66     racing => {
67         type => 'racecar',
68         active => ['on-your-mark', 'get-set', 'go'],
69         inactive => ['first', 'second', 'third', 'no-place'],
70     },
71 );
72 END
73 }
74
75 use RT::Test config => $config, tests => undef;
76
77 1;