RT 4.2.11, ticket#13852
[freeside.git] / rt / t / approval / basic.t
index 2d00eb5..e863bf1 100644 (file)
@@ -1,15 +1,10 @@
 use strict;
 use warnings;
 use RT::Test tests => undef;
-BEGIN {
-    plan skip_all => 'Email::Abstract and Test::Email required.'
-        unless eval { require Email::Abstract; require Test::Email; 1 };
-    plan tests => 38;
-}
 
 use RT::Test::Email;
 
-RT->Config->Set( LogToScreen => 'debug' );
+RT->Config->Set( LogToSTDERR => 'debug' );
 RT->Config->Set( UseTransactionBatch => 1 );
 
 my $q = RT::Queue->new(RT->SystemUser);
@@ -33,7 +28,6 @@ my $approvals =
 Queue: ___Approvals
 Type: approval
 Owner: CFO
-Requestors: {$Tickets{"TOP"}->Requestors}
 Refers-To: TOP
 Subject: CFO Approval for PO: {$Tickets{"TOP"}->Id} - {$Tickets{"TOP"}->Subject}
 Due: {time + 86400}
@@ -46,7 +40,6 @@ ENDOFCONTENT
 Queue: ___Approvals
 Type: approval
 Owner: CEO
-Requestors: {$Tickets{"TOP"}->Requestors}
 Subject: PO approval request for {$Tickets{"TOP"}->Subject}
 Refers-To: TOP
 Depends-On: for-CFO
@@ -86,14 +79,17 @@ mail_ok {
         $t->Create(Subject => "PO for stationary",
                    Owner => "root", Requestor => 'minion',
                    Queue => $q->Id);
-} { from => qr/RT System/,
-    to => 'cfo@company.com',
-    subject => qr/New Pending Approval: CFO Approval/,
-    body => qr/pending your approval.*Your approval is requested.*Blah/s
-},{ from => qr/PO via RT/,
+} { from => qr/PO via RT/,
     to => 'minion@company.com',
     subject => qr/PO for stationary/,
     body => qr/automatically generated in response/
+},{ from => qr/RT System/,
+    to => 'root@localhost',
+    subject => qr/PO for stationary/,
+}, { from => qr/RT System/,
+    to => 'cfo@company.com',
+    subject => qr/New Pending Approval: CFO Approval/,
+    body => qr/pending your approval.*Your approval is requested.*Blah/s
 };
 
 ok ($tid,$tmsg);
@@ -137,6 +133,9 @@ mail_ok {
     subject => qr/New Pending Approval: PO approval request for PO/,
     body => qr/pending your approval.*CFO approved.*ok with that\?/s
 },{ from => qr/RT System/,
+    to => 'root@localhost',
+    subject => qr/Ticket Approved:/,
+},{ from => qr/RT System/,
     to => 'minion@company.com',
     subject => qr/Ticket Approved:/,
     body => qr/approved by CFO.*notes: Resources exist to be consumed/s
@@ -165,10 +164,14 @@ mail_ok {
     ok($ok, "ceo can approve - $msg");
 
 } { from => qr/RT System/,
+    to => 'root@localhost',
+    subject => qr/Ticket Approved:/,
+    body => qr/approved by CEO.*Its Owner may now start to act on it.*notes: And consumed they will be/s,
+},{ from => qr/RT System/,
     to => 'minion@company.com',
     subject => qr/Ticket Approved:/,
     body => qr/approved by CEO.*Its Owner may now start to act on it.*notes: And consumed they will be/s,
-}, { from => qr/CEO via RT/,
+},{ from => qr/CEO via RT/,
      to => 'root@localhost',
      subject => qr/Ticket Approved/,
      body => qr/The ticket has been approved, you may now start to act on it/,
@@ -203,6 +206,10 @@ mail_ok {
     ok($ok, "cfo can approve - $msg");
 
 } { from => qr/RT System/,
+    to => 'root@localhost',
+    subject => qr/Ticket Rejected: PO for stationary/,
+    body => qr/rejected by CFO.*out of resources/s,
+},{ from => qr/RT System/,
     to => 'minion@company.com',
     subject => qr/Ticket Rejected: PO for stationary/,
     body => qr/rejected by CFO.*out of resources/s,
@@ -212,3 +219,4 @@ $t->Load($t->id);$dependson_ceo->Load($dependson_ceo->id);
 is_deeply([ $t->Status, $dependson_cfo->Status, $dependson_ceo->Status ],
           [ 'rejected', 'rejected', 'deleted'], 'ticket state after cfo rejection');
 
+done_testing;