summaryrefslogtreecommitdiff
path: root/rt/t/api/action-createtickets.t
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2012-04-24 11:35:56 -0700
committerIvan Kohler <ivan@freeside.biz>2012-04-24 11:35:56 -0700
commit6587f6ba7d047ddc1686c080090afe7d53365bd4 (patch)
treeec77342668e8865aca669c9b4736e84e3077b523 /rt/t/api/action-createtickets.t
parent47153aae5c2fc00316654e7277fccd45f72ff611 (diff)
first pass RT4 merge, RT#13852
Diffstat (limited to 'rt/t/api/action-createtickets.t')
-rw-r--r--rt/t/api/action-createtickets.t44
1 files changed, 36 insertions, 8 deletions
diff --git a/rt/t/api/action-createtickets.t b/rt/t/api/action-createtickets.t
index 69ceb8d4d..c37e2ed12 100644
--- a/rt/t/api/action-createtickets.t
+++ b/rt/t/api/action-createtickets.t
@@ -2,7 +2,7 @@
use strict;
use warnings;
use RT;
-use RT::Test tests => 49;
+use RT::Test tests => 54;
{
@@ -14,10 +14,33 @@ use_ok('RT::ScripAction');
use_ok('RT::ScripCondition');
use_ok('RT::Ticket');
-my $approvalsq = RT::Queue->new($RT::SystemUser);
+
+use_ok('RT::CustomField');
+
+my $global_cf = RT::CustomField->new($RT::SystemUser);
+my ($id, $msg)= $global_cf->Create( Name => 'GlobalCF',
+ Queue => '0',
+ SortOrder => '1',
+ Description => 'A Testing custom field',
+ Type=> 'SelectSingle');
+ok($id, 'Global custom field correctly created');
+
+
+my $approvalsq = RT::Queue->new(RT->SystemUser);
$approvalsq->Create(Name => 'Approvals');
ok ($approvalsq->Id, "Created Approvals test queue");
+my $queue_cf = RT::CustomField->new($RT::SystemUser);
+($id) = $queue_cf->Create(
+ Name => 'QueueCF',
+ Queue => $approvalsq->Id,
+ SortOrder => 2,
+ Description => 'A testing queue-specific custom field',
+ Type => 'SelectSingle',
+);
+ok($id, 'Queue-specific custom field correctly created');
+
+
my $approvals =
'===Create-Ticket: approval
@@ -26,6 +49,8 @@ Type: approval
AdminCc: {join ("\nAdminCc: ",@admins) }
Depended-On-By: {$Tickets{"TOP"}->Id}
Refers-To: TOP
+CustomField-GlobalCF: A Value
+CustomField-QueueCF: Another Value
Subject: Approval for ticket: {$Tickets{"TOP"}->Id} - {$Tickets{"TOP"}->Subject}
Due: {time + 86400}
Content-Type: text/plain
@@ -45,16 +70,16 @@ ENDOFCONTENT
like ($approvals , qr/Content/, "Read in the approvals template");
-my $apptemp = RT::Template->new($RT::SystemUser);
+my $apptemp = RT::Template->new(RT->SystemUser);
$apptemp->Create( Content => $approvals, Name => "Approvals", Queue => "0");
ok ($apptemp->Id);
-my $q = RT::Queue->new($RT::SystemUser);
+my $q = RT::Queue->new(RT->SystemUser);
$q->Create(Name => 'WorkflowTest');
ok ($q->Id, "Created workflow test queue");
-my $scrip = RT::Scrip->new($RT::SystemUser);
+my $scrip = RT::Scrip->new(RT->SystemUser);
my ($sval, $smsg) =$scrip->Create( ScripCondition => 'On Transaction',
ScripAction => 'Create Tickets',
Template => 'Approvals',
@@ -65,7 +90,7 @@ ok ($scrip->TemplateObj->Id, "Created the scrip template");
ok ($scrip->ConditionObj->Id, "Created the scrip condition");
ok ($scrip->ActionObj->Id, "Created the scrip action");
-my $t = RT::Ticket->new($RT::SystemUser);
+my $t = RT::Ticket->new(RT->SystemUser);
my($tid, $ttrans, $tmsg) = $t->Create(Subject => "Sample workflow test",
Owner => "root",
Queue => $q->Id);
@@ -76,11 +101,15 @@ my $deps = $t->DependsOn;
is ($deps->Count, 1, "The ticket we created depends on one other ticket");
my $dependson= $deps->First->TargetObj;
ok ($dependson->Id, "It depends on a real ticket");
+is ($dependson->FirstCustomFieldValue('GlobalCF'), 'A Value',
+ 'global custom field was set');
+is ($dependson->FirstCustomFieldValue('QueueCF'), 'Another Value',
+ 'queue custom field was set');
unlike ($dependson->Subject, qr/{/, "The subject doesn't have braces in it. that means we're interpreting expressions");
is ($t->ReferredToBy->Count,1, "It's only referred to by one other ticket");
is ($t->ReferredToBy->First->BaseObj->Id,$t->DependsOn->First->TargetObj->Id, "The same ticket that depends on it refers to it.");
use RT::Action::CreateTickets;
-my $action = RT::Action::CreateTickets->new( CurrentUser => $RT::SystemUser);
+my $action = RT::Action::CreateTickets->new( CurrentUser => RT->SystemUser);
# comma-delimited templates
my $commas = <<"EOF";
@@ -237,4 +266,3 @@ foreach my $id ( sort keys %expected ) {
}
-1;