[Rt-commit] rt branch, reminders-fixes, created. rt-3.9.7-1077-gdcfa3ec

Shawn Moore sartak at bestpractical.com
Mon Dec 27 20:13:20 EST 2010


The branch, reminders-fixes has been created
        at  dcfa3ecdaff584a5723cb6939716f65df848a109 (commit)

- Log -----------------------------------------------------------------
commit 68b5cfc1750298da845be01333fa498aeac91e93
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Mon Dec 27 19:31:33 2010 -0500

    Name the UpdateReminders form so tests can select it

diff --git a/share/html/Ticket/Elements/ShowSummary b/share/html/Ticket/Elements/ShowSummary
index 363e1fa..8d35fdf 100755
--- a/share/html/Ticket/Elements/ShowSummary
+++ b/share/html/Ticket/Elements/ShowSummary
@@ -75,7 +75,7 @@
         class => 'ticket-info-reminders',
     &>
         <table><tr><td>
-            <form action="<%RT->Config->Get('WebPath')%>/Ticket/Display.html" method="post">
+            <form action="<%RT->Config->Get('WebPath')%>/Ticket/Display.html" name="UpdateReminders" id="UpdateReminders" method="post">
                 <& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 0 &>
                 <div align="right"><input type="submit" class="button" value="<&|/l&>Save</&>" /></div>
             </form>

commit c91d36535baf1e3c987a36a2653c9d1da251b37d
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Mon Dec 27 19:40:31 2010 -0500

    Need to add value="1" to checkboxes for mech to tick them
    
        For some reason Mech's ->tick seems to require a value. Annoying.

diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders
index 4e8d2d5..b56a64a 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -166,7 +166,7 @@ $Ticket
 $Index
 </%args>
 <tr class="<% $Index%2 ? 'oddline' : 'evenline' %>">
-<td class="entry"><input type="checkbox" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq 'resolved' ? 'checked="checked"' : '' |n %> /></td>
+<td class="entry"><input type="checkbox" value="1" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq 'resolved' ? 'checked="checked"' : '' |n %> /></td>
 <td class="label"><&|/l&>Subject</&>:</td>
 <td class="entry" colspan="3"><input type="text" size="50" name="Reminder-Subject-<% $Reminder->id %>" value="<% $Reminder->Subject %>" /></td>
 </tr>
@@ -187,7 +187,7 @@ $Index
 % my $dueobj = $Reminder->DueObj;
 % my $overdue = $dueobj->Unix > 0 && $dueobj->Diff < 0 ? 1 : 0;
 <tr class="<% $Index%2 ? 'oddline' : 'evenline' %>">
-<td class="collection-as-table"><input type="checkbox" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq 'resolved' ? 'checked="checked"' : '' |n %> /></td>
+<td class="collection-as-table"><input type="checkbox" value="1" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq 'resolved' ? 'checked="checked"' : '' |n %> /></td>
 <td class="collection-as-table"><% $Reminder->Subject %></td>
 <td class="collection-as-table"><% $overdue ? '<span class="overdue">' : '' |n %><% $dueobj->AgeAsString || loc('Not set') %><% $overdue ? '</span>' : '' |n %></td>
 <td class="collection-as-table"><& /Elements/ShowUser, User => $Reminder->OwnerObj &></td>

commit 8428a61288804b5bb93fa9d355a48084f6878186
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Mon Dec 27 19:45:02 2010 -0500

    Better title for /Ticket/Reminders

diff --git a/share/html/Ticket/Reminders.html b/share/html/Ticket/Reminders.html
index f728512..ea2f402 100755
--- a/share/html/Ticket/Reminders.html
+++ b/share/html/Ticket/Reminders.html
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => loc("Reminder ticket #[_1]", $Ticket->Id) &>
+<& /Elements/Header, Title => loc("Reminders for ticket #[_1]", $Ticket->Id) &>
 <& /Elements/Tabs &>
     
 % $m->callback(CallbackName => 'BeforeActionList', ARGSRef => \%ARGS, Ticket => $Ticket);

commit 4bb5118ad93b1c7606c39f5c592fc64a5ddde482
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Mon Dec 27 20:06:11 2010 -0500

    Add form name/id for /Ticket/Reminders too

diff --git a/share/html/Ticket/Reminders.html b/share/html/Ticket/Reminders.html
index ea2f402..7343b24 100755
--- a/share/html/Ticket/Reminders.html
+++ b/share/html/Ticket/Reminders.html
@@ -50,7 +50,7 @@
     
 % $m->callback(CallbackName => 'BeforeActionList', ARGSRef => \%ARGS, Ticket => $Ticket);
     
-<form action="<%RT->Config->Get('WebPath')%>/Ticket/Reminders.html" method="post">
+<form action="<%RT->Config->Get('WebPath')%>/Ticket/Reminders.html" name="UpdateReminders" id="UpdateReminders" method="post">
 <&|/Widgets/TitleBox, title => loc("Reminders"),
                        class=>'ticket-info-reminders'
                        &>

commit dcfa3ecdaff584a5723cb6939716f65df848a109
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Mon Dec 27 19:34:51 2010 -0500

    Add web tests for reminders

diff --git a/t/web/reminders.t b/t/web/reminders.t
new file mode 100644
index 0000000..8cc0bdd
--- /dev/null
+++ b/t/web/reminders.t
@@ -0,0 +1,71 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use RT::Test tests => 24;
+
+my ($baseurl, $m) = RT::Test->started_ok;
+
+ok($m->login, 'logged in');
+my $user = RT::CurrentUser->new('root');
+
+my $ticket = RT::Ticket->new($user);
+$ticket->Create(Subject => 'testing reminders!', Queue => 'General');
+ok($ticket->id, 'created a ticket');
+
+$m->goto_ticket($ticket->id);
+$m->text_contains('New reminder:', 'can create a new reminder');
+$m->content_unlike(qr{Check box to complete}, "we don't display this text when there are no reminders");
+TODO: {
+    local $TODO = "we display the reminder titlebar even though we have no reminders";
+    $m->content_unlike(qr{<th[^>]*>Reminder</th>}, "no reminder titlebar");
+}
+
+$m->form_name('UpdateReminders');
+$m->field( 'NewReminder-Subject' => "baby's first reminder" );
+$m->submit;
+
+my $reminders = RT::Reminders->new($user);
+$reminders->Ticket($ticket->id);
+my $col = $reminders->Collection;
+is($col->Count, 1, 'got a reminder');
+my $reminder = $col->First;
+is($reminder->Subject, "baby's first reminder");
+my $reminder_id = $reminder->id;
+is($reminder->Status, 'new');
+
+$m->text_contains('New reminder:', 'can create a new reminder');
+$m->text_contains('Check box to complete', "we DO display this text when there are reminders");
+$m->content_like(qr{<th[^>]*>Reminder</th>}, "now we have a reminder titlebar");
+$m->text_contains("baby's first reminder", "display the reminder's subject");
+
+$m->follow_link_ok({id => 'page-reminders'});
+$m->title_is("Reminders for ticket #" . $ticket->id);
+$m->form_name('UpdateReminders');
+$m->field("Reminder-Subject-$reminder_id" => "changed the subject");
+$m->submit;
+
+DBIx::SearchBuilder::Record::Cachable->FlushCache;
+$reminder = RT::Ticket->new($user);
+$reminder->Load($reminder_id);
+is($reminder->Subject, 'changed the subject');
+is($reminder->Status, 'new');
+
+$m->goto_ticket($ticket->id);
+
+$m->form_name('UpdateReminders');
+$m->tick("Complete-Reminder-$reminder_id" => 1);
+$m->submit;
+
+DBIx::SearchBuilder::Record::Cachable->FlushCache;
+$reminder = RT::Ticket->new($user);
+$reminder->Load($reminder_id);
+is($reminder->Status, 'resolved');
+
+$m->text_contains('New reminder:', 'can create a new reminder');
+$m->content_unlike(qr{Check box to complete}, "we don't display this text when there are open reminders");
+TODO: {
+    local $TODO = "we display the reminder titlebar even though we have no open reminders";
+    $m->content_unlike(qr{<th[^>]*>Reminder</th>}, "no reminder titlebar");
+}
+$m->content_unlike(qr{baby's first reminder}, "we don't display resolved reminders");
+

-----------------------------------------------------------------------


More information about the Rt-commit mailing list