summaryrefslogtreecommitdiff
path: root/rt/t/api/scrip_order.t
diff options
context:
space:
mode:
Diffstat (limited to 'rt/t/api/scrip_order.t')
-rw-r--r--rt/t/api/scrip_order.t56
1 files changed, 56 insertions, 0 deletions
diff --git a/rt/t/api/scrip_order.t b/rt/t/api/scrip_order.t
new file mode 100644
index 000000000..9738db9bc
--- /dev/null
+++ b/rt/t/api/scrip_order.t
@@ -0,0 +1,56 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use RT;
+use RT::Test tests => 7;
+
+
+# {{{ test scrip ordering based on description
+
+my $scrip_queue = RT::Queue->new($RT::SystemUser);
+my ($queue_id, $msg) = $scrip_queue->Create( Name => "ScripOrdering-$$",
+ Description => 'Test scrip ordering by description' );
+ok($queue_id, "Created scrip-ordering test queue? ".$msg);
+
+my $priority_ten_scrip = RT::Scrip->new($RT::SystemUser);
+(my $id, $msg) = $priority_ten_scrip->Create(
+ Description => "10 set priority $$",
+ Queue => $queue_id,
+ ScripCondition => 'On Create',
+ ScripAction => 'User Defined',
+ CustomPrepareCode => '$RT::Logger->debug("Setting priority to 10..."); return 1;',
+ CustomCommitCode => '$self->TicketObj->SetPriority(10);',
+ Template => 'Blank',
+ Stage => 'TransactionCreate',
+);
+ok($id, "Created priority-10 scrip? ".$msg);
+
+my $priority_five_scrip = RT::Scrip->new($RT::SystemUser);
+($id, $msg) = $priority_ten_scrip->Create(
+ Description => "05 set priority $$",
+ Queue => $queue_id,
+ ScripCondition => 'On Create',
+ ScripAction => 'User Defined',
+ CustomPrepareCode => '$RT::Logger->debug("Setting priority to 5..."); return 1;',
+ CustomCommitCode => '$self->TicketObj->SetPriority(5);',
+ Template => 'Blank',
+ Stage => 'TransactionCreate',
+);
+ok($id, "Created priority-5 scrip? ".$msg);
+
+my $ticket = RT::Ticket->new($RT::SystemUser);
+($id, $msg) = $ticket->Create(
+ Queue => $queue_id,
+ Requestor => 'order@example.com',
+ Subject => "Scrip order test $$",
+);
+ok($ticket->id, "Created ticket? id=$id");
+
+isnt($ticket->Priority , 0, "Ticket shouldn't be priority 0");
+isnt($ticket->Priority , 5, "Ticket shouldn't be priority 5");
+is ($ticket->Priority , 10, "Ticket should be priority 10");
+
+# }}}
+
+1;