[Rt-commit] r8296 - rt/branches/3.7-EXPERIMENTAL-TUNIS/lib/RT/Test

ruz at bestpractical.com ruz at bestpractical.com
Thu Jul 26 10:29:12 EDT 2007


Author: ruz
Date: Thu Jul 26 10:29:00 2007
New Revision: 8296

Modified:
   rt/branches/3.7-EXPERIMENTAL-TUNIS/lib/RT/Test/Web.pm

Log:
RT::Test::Web::
* add goto_ticket function
* make functions a little bit more verbose about errors

Modified: rt/branches/3.7-EXPERIMENTAL-TUNIS/lib/RT/Test/Web.pm
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL-TUNIS/lib/RT/Test/Web.pm	(original)
+++ rt/branches/3.7-EXPERIMENTAL-TUNIS/lib/RT/Test/Web.pm	Thu Jul 26 10:29:00 2007
@@ -5,6 +5,8 @@
 
 use base qw(Test::WWW::Mechanize);
 
+require Test::More;
+
 sub rt_base_url {
     return "http://localhost:" . RT->Config->Get('WebPort') . RT->Config->Get('WebPath') . "/";
 }
@@ -13,18 +15,45 @@
     my $self = shift;
     my $user = shift || 'root';
     my $pass = shift || 'password';
-    
+
     my $url = $self->rt_base_url;
 
     $self->get($url);
+    Test::More::diag( "error: status is ". $self->status )
+        unless $self->status == 200;
     if ( $self->content =~ qr/Logout/i ) {
         $self->follow_link( text => 'Logout' );
     }
 
     $self->get($url . "?user=$user;pass=$pass");
-    return 0 unless $self->status == 200;
-    return 0 unless $self->content =~ qr/Logout/i;
+    unless ( $self->status == 200 ) {
+        Test::More::diag( "error: status is ". $self->status );
+        return 0;
+    }
+    unless ( $self->content =~ qr/Logout/i ) {
+        Test::More::diag("error: page has no Logout");
+        return 0;
+    }
+    return 1;
+}
+
+sub goto_ticket {
+    my $self = shift;
+    my $id   = shift;
+    unless ( $id && int $id ) {
+        Test::More::diag( "error: wrong id ". defined $id? $id : '(undef)' );
+        return 0;
+    }
+
+    my $url = $self->rt_base_url;
+    $url .= "/Ticket/Display.html?id=$id";
+    $self->get($url);
+    unless ( $self->status == 200 ) {
+        Test::More::diag( "error: status is ". $self->status );
+        return 0;
+    }
     return 1;
+
 }
 
 1;


More information about the Rt-commit mailing list