X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fapi%2Faction-createtickets.t;fp=rt%2Ft%2Fapi%2Faction-createtickets.t;h=c37e2ed12577e5b2582a5e5752c0603b21435ff9;hb=33beebf4cb42eba3e1dd868ad5e0af102de961da;hp=69ceb8d4d6d49aa4a9dbe3d0ce16050120eda8a9;hpb=7ac86daf67b0a95153b736d5811f9050363f6553;p=freeside.git 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;