summaryrefslogtreecommitdiff
path: root/rt/t/api/condition-reject.t
diff options
context:
space:
mode:
Diffstat (limited to 'rt/t/api/condition-reject.t')
-rw-r--r--rt/t/api/condition-reject.t45
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;