[Cpan-forum-commit] rev 162 - in trunk: . t/mech

svn at pti.co.il svn at pti.co.il
Fri Aug 25 18:14:29 IDT 2006


Author: gabor
Date: 2006-08-25 18:14:28 +0300 (Fri, 25 Aug 2006)
New Revision: 162

Modified:
   trunk/
   trunk/t/mech/011-register.t
Log:
rewrite tests to use Mech



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:10982
   + 8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:10983

Modified: trunk/t/mech/011-register.t
===================================================================
--- trunk/t/mech/011-register.t	2006-08-25 15:14:25 UTC (rev 161)
+++ trunk/t/mech/011-register.t	2006-08-25 15:14:28 UTC (rev 162)
@@ -3,73 +3,92 @@
 use strict;
 use warnings;
 
-use Test::More "no_plan";
+use Test::More;
+my $tests;
+plan tests => $tests;
 
-
 use lib qw(t/lib);
 use CPAN::Forum::Test;
 
-setup_database();
+{
+    CPAN::Forum::Test::setup_database();
+    ok(-e "blib/db/forum.db");
+    BEGIN { $tests += 1; }
+}
 
-use CPAN::Forum::DBI;
-CPAN::Forum::DBI->myinit("$ROOT/db/forum.db");
 
-use CGI::Application::Test;
-use CPAN::Forum;
-my $cat = CGI::Application::Test->new({
-            class   => "CPAN::Forum", 
-            cookie  => "cpanforum", 
-            app     => {
-                TMPL_PATH => "$ROOT/templates",
-                PARAMS => {
-                    ROOT => $ROOT,
-                },
-            }});
+my $w   = CPAN::Forum::Test::get_mech();
+my $url = CPAN::Forum::Test::get_url();
 
+#use CPAN::Forum::DBI;
+#CPAN::Forum::DBI->myinit("$ROOT/db/forum.db");
 
+#use CGI::Application::Test;
+#use CPAN::Forum;
+#my $cat = CGI::Application::Test->new({
 {
-    my $r = $cat->cgiapp(path_info => '/');
-    like($r, qr{CPAN Forum});
-}
+    $w->get_ok($url);
+    $w->content_like(qr{CPAN Forum});
 
-{
-    my $r = $cat->cgiapp(path_info => '/register');
-    like($r, qr{Registration Page});
-}
+    $w->follow_link_ok({ text => 'register' });
+    $w->content_like(qr{Registration Page});
 
-{
-    my $r = $cat->cgiapp(path_info => '/', params => {rm => 'register_process', nickname => '', email => ''});
-    like($r, qr{Registration Page});
-    like($r, qr{Need both nickname and password});
+    BEGIN { $tests += 4; }
 }
 
 {
-    my $r = $cat->cgiapp(path_info => '/',  params => {rm => 'register_process', nickname => '', email => 'some at email'});
-    like($r, qr{Registration Page});
-    like($r, qr{Need both nickname and password});
-}
+    $w->submit_form(
+        fields => {
+            nickname => '', 
+            email    => 'some at email',
+        },
+    );
+    $w->content_like(qr{Registration Page});
+    $w->content_like(qr{Need both nickname and password});
 
-{
-    my $r = $cat->cgiapp(path_info => '/', params => {rm => 'register_process', nickname => 'xyz', email => ''});
-    like($r, qr{Registration Page});
-    like($r, qr{Need both nickname and password});
-}
+    $w->submit_form(
+        fields => {
+            nickname => '', 
+            email    => '',
+        },
+    );
+    $w->content_like(qr{Registration Page});
+    $w->content_like(qr{Need both nickname and password});
 
-{
-    my $r = $cat->cgiapp(path_info => '/', 
-            params => {rm => 'register_process', nickname => 'xyzqwertyuiqwertyuiopqwert', email => 'a at com'});
-    like($r, qr{Registration Page});
-    like($r, qr{Nickname must be lower case alphanumeric between 1-25 characters});
+    $w->submit_form(
+        fields => {
+            nickname => 'xyz', 
+            email    => '',
+        },
+    );
+    $w->content_like(qr{Registration Page});
+    $w->content_like(qr{Need both nickname and password});
+
+    $w->submit_form(
+        fields => {
+            nickname => 'xyzqwertyuiqwertyuiopqwert', 
+            email => 'a at com',
+        },
+    );
+    $w->content_like(qr{Registration Page});
+    $w->content_like(qr{Nickname must be lower case alphanumeric between 1-25 characters});
+    BEGIN { $tests += 8; }
 }
 
 # reject bad usernames
 foreach my $username ("ab.c", "Abcde", "asd'er", "ab cd") {
-    my $r = $cat->cgiapp(path_info => '/', 
-            params => {rm => 'register_process', nickname => $username, email => 'a at com'});
-    like($r, qr{Registration Page});
-    like($r, qr{Nickname must be lower case alphanumeric between 1-25 characters});
+    $w->submit_form(
+        fields => {
+            nickname => $username, 
+            email => 'a at com',
+        },
+    );
+    $w->content_like(qr{Registration Page});
+    $w->content_like(qr{Nickname must be lower case alphanumeric between 1-25 characters});
+    BEGIN { $tests += 2*4; }
 }
 
+__END__
 # reject bad usernames
 foreach my $email ("adb-?", "Abcde", "asd'er", "ab cd") {
     my $r = $cat->cgiapp(path_info => '/', params => {rm => 'register_process', nickname => "abcde", email => $email});
@@ -121,11 +140,3 @@
     is($password, "");
 }
 
-
-    
-
-
-
-
-
-



More information about the Cpan-forum-commit mailing list