fix A/R report
[freeside.git] / rt / t / web / ticket_modify_all.t
index c9dd7e7..6b85d98 100644 (file)
@@ -1,13 +1,15 @@
 use strict;
 use warnings;
 
-use RT::Test tests => 15;
+use RT::Test tests => undef;
 
 my $ticket = RT::Test->create_ticket(
     Subject => 'test bulk update',
     Queue   => 1,
 );
 
+RT->Config->Set(AutocompleteOwners => 1);
+
 my ( $url, $m ) = RT::Test->started_ok;
 ok( $m->login, 'logged in' );
 
@@ -19,18 +21,12 @@ $m->submit_form(
     button      => 'SubmitTicket',
 );
 
-$m->content_contains("Message recorded", 'updated ticket');
+$m->content_contains("Comments added", 'updated ticket');
 $m->content_lacks("this is update content", 'textarea is clear');
 
 $m->get_ok($url . '/Ticket/Display.html?id=' . $ticket->id );
 $m->content_contains("this is update content", 'updated content in display page');
 
-# NOTE http://issues.bestpractical.com/Ticket/Display.html?id=18284
-RT::Test->stop_server;
-RT->Config->Set(AutocompleteOwners => 1);
-($url, $m) = RT::Test->started_ok;
-$m->login;
-
 $m->get_ok($url . '/Ticket/ModifyAll.html?id=' . $ticket->id);
 
 $m->form_name('TicketModifyAll');
@@ -40,5 +36,53 @@ $m->click('SubmitTicket');
 $m->form_name('TicketModifyAll');
 is($m->value('Owner'), 'root', 'owner was successfully changed to root');
 
-# XXX TODO test other parts, i.e. basic, dates, people and links
+$m->get_ok($url . "/Ticket/ModifyAll.html?id=" . $ticket->id);
+
+$m->form_name('TicketModifyAll');
+$m->field('Starts_Date' => "2013-01-01 00:00:00");
+$m->click('SubmitTicket');
+$m->text_contains("Starts: (Tue Jan 01 00:00:00 2013)", 'start date successfully updated');
+
+$m->form_name('TicketModifyAll');
+$m->field('Started_Date' => "2014-01-01 00:00:00");
+$m->click('SubmitTicket');
+$m->text_contains("Started: (Wed Jan 01 00:00:00 2014)", 'started date successfully updated');
+
+$m->form_name('TicketModifyAll');
+$m->field('Told_Date' => "2015-01-01 00:00:00");
+$m->click('SubmitTicket');
+$m->text_contains("Last Contact:  (Thu Jan 01 00:00:00 2015)", 'told date successfully updated');
+
+for my $unset ("0", "-", " ") {
+    $m->form_name('TicketModifyAll');
+    $m->field('Due_Date' => "2016-01-01 00:00:00");
+    $m->click('SubmitTicket');
+    $m->text_contains("Due: (Fri Jan 01 00:00:00 2016)", 'due date successfully updated');
+
+    $m->form_name('TicketModifyAll');
+    $m->field('Due_Date' => $unset);
+    $m->click('SubmitTicket');
+    $m->text_contains("Due: (Not set)", "due date successfully cleared with '$unset'");
+    $m->warning_like(qr/Couldn't parse date '-'/) if $unset eq "-";
+}
+
+$m->get( $url . '/Ticket/ModifyAll.html?id=' . $ticket->id );
+$m->form_name('TicketModifyAll');
+$m->field(WatcherTypeEmail => 'Requestor');
+$m->field(WatcherAddressEmail => 'root@localhost');
+$m->click('SubmitTicket');
+$m->text_contains(
+    "Added root as a Requestor for this ticket",
+    'watcher is added',
+);
+$m->form_name('TicketModifyAll');
+$m->field(WatcherTypeEmail => 'Requestor');
+$m->field(WatcherAddressEmail => 'root@localhost');
+$m->click('SubmitTicket');
+$m->text_contains(
+    "root is already a Requestor",
+    'no duplicate watchers',
+);
 
+undef $m;
+done_testing;