diff options
Diffstat (limited to 'rt/t/web/offline.t')
-rw-r--r-- | rt/t/web/offline.t | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/rt/t/web/offline.t b/rt/t/web/offline.t new file mode 100644 index 000000000..b3762fc20 --- /dev/null +++ b/rt/t/web/offline.t @@ -0,0 +1,78 @@ +#!/usr/bin/env perl +use strict; +use warnings; + +use RT::Test tests => 20; + +my ( $url, $m ) = RT::Test->started_ok; +ok( $m->login, 'logged in' ); + +{ + my $template = <<EOF; +===Create-Ticket: ticket1 +Queue: General +Subject: test +Status: new +EOF + my $ticket = create_ticket_offline( $m, $template ); + ok $ticket->id, 'created a ticket with offline tool'; + is $ticket->QueueObj->Name, 'General', 'correct value'; + is $ticket->Subject, 'test', 'correct value'; + is $ticket->Status, 'new', 'correct value'; +} + +{ + my $template = <<'EOF'; +===Create-Ticket: ticket1 +Queue: General +Subject: test +Status: new +Requestor: test@example.com +EOF + my $ticket = create_ticket_offline( $m, $template ); + ok $ticket->id, 'created a ticket with offline tool'; + is $ticket->RequestorAddresses, 'test@example.com', 'correct value'; +} + +{ + my $group = RT::Group->new(RT->SystemUser); + my ($id, $msg) = $group->CreateUserDefinedGroup( Name => 'test' ); + ok $id, "created a user defined group"; + + my $template = <<'EOF'; +===Create-Ticket: ticket1 +Queue: General +Subject: test +Status: new +Requestor: test@example.com +RequestorGroup: test +EOF + my $ticket = create_ticket_offline( $m, $template ); + ok $ticket->id, 'created a ticket with offline tool'; + ok grep( + { $_->MemberId eq $group->id } + @{ $ticket->Requestors->MembersObj->ItemsArrayRef } + ), 'correct value' ; + is $ticket->RequestorAddresses, 'test@example.com', 'correct value'; +} + +sub create_ticket_offline { + my ($m, $template) = @_; + + $m->get_ok( $url . '/Tools/Offline.html' ); + + $m->submit_form( + form_name => 'TicketUpdate', + fields => { string => $template }, + button => 'UpdateTickets', + ); + + my $ticket = RT::Ticket->new( RT->SystemUser ); + $m->content_like( qr/Ticket \d+ created/, 'found ticket created message' ) + or return $ticket; + + $ticket->Load( $m->content =~ /Ticket (\d+) created/ ); + return $ticket; +} + + |