summaryrefslogtreecommitdiff
path: root/rt/t/approval
diff options
context:
space:
mode:
Diffstat (limited to 'rt/t/approval')
-rw-r--r--rt/t/approval/admincc.t46
-rw-r--r--rt/t/approval/basic.t36
2 files changed, 49 insertions, 33 deletions
diff --git a/rt/t/approval/admincc.t b/rt/t/approval/admincc.t
index b43929603..da8cac23d 100644
--- a/rt/t/approval/admincc.t
+++ b/rt/t/approval/admincc.t
@@ -2,17 +2,12 @@
use strict;
use warnings;
use Test::More;
-BEGIN {
- eval { require Email::Abstract; require Test::Email; 1 }
- or plan skip_all => 'require Email::Abstract and Test::Email';
-}
-
use RT;
-use RT::Test tests => 62;
+use RT::Test tests => "no_declare";
use RT::Test::Email;
-RT->Config->Set( LogToScreen => 'debug' );
+RT->Config->Set( LogToSTDERR => 'debug' );
RT->Config->Set( UseTransactionBatch => 1 );
my ($baseurl, $m) = RT::Test->started_ok;
@@ -42,7 +37,6 @@ Queue: ___Approvals
Type: approval
Owner: CTO
AdminCCs: COO, CEO
-Requestors: {$Tickets{"TOP"}->Requestors}
DependedOnBy: TOP
Subject: CTO Approval for PO: {$Tickets{"TOP"}->Id} - {$Tickets{"TOP"}->Subject}
Due: {time + 86400}
@@ -84,20 +78,20 @@ mail_ok {
Requestor => 'minion',
Queue => $q->Id,
);
-} { from => qr/RT System/,
- bcc => qr/ceo.*coo|coo.*ceo/i,
- subject => qr/PO for stationary/i,
-},
-{ from => qr/RT System/,
- to => 'cto@company.com',
- subject => qr/New Pending Approval: CTO 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 => 'cto@company.com',
+ bcc => qr/ceo.*coo|coo.*ceo/i,
+ subject => qr/New Pending Approval: CTO Approval/,
+ body => qr/pending your approval.*Your approval is requested.*Blah/s
+}
+;
ok ($tid,$tmsg);
@@ -134,6 +128,11 @@ mail_ok {
},
{
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 CTO.*notes: Resources exist to be consumed/s
@@ -180,6 +179,12 @@ for my $admin (qw/coo ceo/) {
body => qr/Resources exist to be consumed/,
},
{
+ from => qr/RT System/,
+ to => 'root@localhost',
+ subject => qr/Ticket Approved:/,
+ body => qr/approved by \U$admin\E.*notes: Resources exist to be consumed/s
+ },
+ {
from => qr/RT System/,
to => 'minion@company.com',
subject => qr/Ticket Approved:/,
@@ -273,3 +278,6 @@ $m_coo->content_lacks( 'second approval', 'coo: second approval is gone too' );
$m_ceo->content_lacks( 'second approval', 'ceo: second approval is gone too' );
RT::Test->clean_caught_mails;
+
+undef $m;
+done_testing;
diff --git a/rt/t/approval/basic.t b/rt/t/approval/basic.t
index 2d00eb56e..e863bf12f 100644
--- a/rt/t/approval/basic.t
+++ b/rt/t/approval/basic.t
@@ -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;