summaryrefslogtreecommitdiff
path: root/rt/t/api/condition-reject.t
blob: 96789509dd66dec7e9f5ce54f79b3c15c8c5de23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#
# Check that the "On Reject" scrip condition exists and is working
#

use strict;
use warnings;
use RT;
use RT::Test tests => 7;


{

my $q = RT::Queue->new($RT::SystemUser);
$q->Create(Name =>'rejectTest');

ok($q->Id, "Created a scriptest queue");

my $s1 = RT::Scrip->new($RT::SystemUser);
my ($val, $msg) =$s1->Create( Queue => $q->Id,
             ScripAction => 'User Defined',
             ScripCondition => 'On reject',
             CustomIsApplicableCode => '',
             CustomPrepareCode => 'return 1',
             CustomCommitCode => '
                    $self->TicketObj->SetPriority($self->TicketObj->Priority+1);
                return(1);
            ',
             Template => 'Blank'
    );
ok($val,$msg);

my $ticket = RT::Ticket->new($RT::SystemUser);
my ($tv,$ttv,$tm) = $ticket->Create(Queue => $q->Id,
                                    Subject => "hair on fire",
                                    InitialPriority => '20'
                                    );
ok($tv, $tm);
ok($ticket->SetStatus('rejected'), "Status set to \"rejected\"");
is ($ticket->Priority , '21', "Condition is true, scrip triggered");
ok($ticket->SetStatus('open'), "Status set to \"open\"");
is ($ticket->Priority , '21', "Condition is false, scrip skipped");

}

1;