1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
use strict;
use warnings;
use RT;
use RT::Test tests => 20;
{
# Create test queues
use_ok ('RT::Queue');
ok(my $testqueue = RT::Queue->new(RT->SystemUser), 'Instantiate RT::Queue');
ok($testqueue->Create( Name => 'reminders tests'), 'Create new queue: reminders tests');
isnt($testqueue->Id , 0, 'Success creating queue');
ok($testqueue->Create( Name => 'reminders tests 2'), 'Create new queue: reminders tests 2');
isnt($testqueue->Id , 0, 'Success creating queue');
# Create test ticket
use_ok('RT::Ticket');
my $u = RT::User->new(RT->SystemUser);
$u->Load("root");
ok ($u->Id, "Found the root user");
ok(my $t = RT::Ticket->new(RT->SystemUser), 'Instantiate RT::Ticket');
ok(my ($id, $msg) = $t->Create( Queue => $testqueue->Id,
Subject => 'Testing',
Owner => $u->Id
), 'Create sample ticket');
isnt($id , 0, 'Success creating ticket');
# Add reminder
my $due_obj = RT::Date->new( RT->SystemUser );
$due_obj->SetToNow;
ok(my ( $add_id, $add_msg, $txnid ) = $t->Reminders->Add(
Subject => 'TestReminder',
Owner => 'root',
Due => $due_obj->ISO
), 'Add reminder');
# Check that the new Reminder is here
my $reminders = $t->Reminders->Collection;
ok($reminders, 'Loading reminders for this ticket');
my $found = 0;
while ( my $reminder = $reminders->Next ) {
next unless $found == 0;
$found = 1 if ( $reminder->Subject =~ m/TestReminder/ );
}
is($found, 1, 'Reminder successfully added');
# Change queue
ok (my ($move_val, $move_msg) = $t->SetQueue('reminders tests 2'), 'Moving ticket from queue "reminders tests" to "reminders tests 2"');
is ($t->QueueObj->Name, 'reminders tests 2', 'Ticket successfully moved');
# Check that the new reminder is still there and moved to the new queue
$reminders = $t->Reminders->Collection;
ok($reminders, 'Loading reminders for this ticket');
$found = 0;
my $ok_queue = 0;
while ( my $reminder = $reminders->Next ) {
next unless $found == 0;
if ( $reminder->Subject =~ m/TestReminder/ ) {
$found = 1;
$ok_queue = 1 if ( $reminder->QueueObj->Name eq 'reminders tests 2' );
}
}
is($found, 1, 'Reminder successfully added');
is($ok_queue, 1, 'Reminder automatically moved to new queue');
# Resolve reminder
my $r_resolved = 0;
while ( my $reminder = $reminders->Next ) {
if ( $reminder->Subject =~ m/TestReminder/ ) {
if ( $reminder->Status ne 'resolved' ) {
$t->Reminders->Resolve($reminder);
$r_resolved = 1 if ( $reminder->Status eq 'resolved' );
}
}
}
is($r_resolved, 1, 'Reminder resolved');
}
|