6 use RT::Test tests => 22;
7 RT->Config->Set( NotifyActor => 1 );
9 my $queue = RT::Test->load_or_create_queue(
11 CorrespondAddress => 'rt-recipient@example.com',
12 CommentAddress => 'rt-recipient@example.com',
14 ok $queue && $queue->id, 'loaded or created queue';
16 my $user = RT::Test->load_or_create_user(
18 EmailAddress => 'root@localhost',
20 ok $user && $user->id, 'loaded or created user';
26 Message-ID: <some-message-id>
30 my ($status, $id) = RT::Test->send_via_mailgate($mail);
31 ok $id, "created a ticket";
33 my @mail = RT::Test->fetch_caught_mails;
34 is scalar @mail, 1, "autoreply";
35 like $mail[0], qr{^In-Reply-To:\s*<some-message-id>$}mi;
36 like $mail[0], qr{^References:\s*<RT-Ticket-\Q$id\E\@example\.com>}mi;
38 my $ticket = RT::Ticket->new( RT->SystemUser );
40 ok $ticket->id, "loaded ticket";
42 ($status, my ($msg)) = $ticket->Correspond( Content => 'boo' );
43 ok $status, "replied to the ticket";
45 @mail = RT::Test->fetch_caught_mails;
46 is scalar @mail, 1, "reply";
47 like $mail[0], qr{^References:\s*<RT-Ticket-\Q$id\E\@example\.com>$}mi,
48 "no context, so only pseudo header is referenced";
52 my ($ticket) = RT::Test->create_ticket(
54 Requestor => $user->EmailAddress
57 ok $id, "created a ticket";
59 my @mail = RT::Test->fetch_caught_mails;
60 is scalar @mail, 1, "autoreply";
61 like $mail[0], qr{^References:\s*<RT-Ticket-\Q$id\E\@example\.com>}mi;
65 my $scrip = RT::Scrip->new(RT->SystemUser);
66 my ($status, $msg) = $scrip->Create(
67 Description => "Notify requestor on status change",
68 ScripCondition => 'On Status Change',
69 ScripAction => 'Notify Requestors',
70 Template => 'Transaction',
71 Stage => 'TransactionCreate',
74 ok($status, "Scrip created");
76 my ($ticket) = RT::Test->create_ticket(
78 Requestor => $user->EmailAddress,
81 ok $id, "created a ticket";
83 RT::Test->fetch_caught_mails;
84 ($status, $msg) = $ticket->SetStatus('open');
85 ok $status, "changed status";
87 my @mail = RT::Test->fetch_caught_mails;
88 is scalar @mail, 1, "status change notification";
89 like $mail[0], qr{^References:\s*<RT-Ticket-\Q$id\E\@example\.com>}mi;