diff options
Diffstat (limited to 'rt/t/api/condition-reject.t')
-rw-r--r-- | rt/t/api/condition-reject.t | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/rt/t/api/condition-reject.t b/rt/t/api/condition-reject.t new file mode 100644 index 000000000..96789509d --- /dev/null +++ b/rt/t/api/condition-reject.t @@ -0,0 +1,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; |