? 892950-user-activation-mail-2.patch
? modules/user/user.test_bk
? sites/default/files
? sites/default/private
? sites/default/settings.php
Index: modules/user/user.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.test,v
retrieving revision 1.101
diff -u -p -r1.101 user.test
--- modules/user/user.test	27 Aug 2010 11:28:45 -0000	1.101
+++ modules/user/user.test	27 Aug 2010 15:08:01 -0000
@@ -1,5 +1,5 @@
 <?php
-// $Id: user.test,v 1.101 2010/08/27 11:28:45 webchick Exp $
+// $Id: user.test,v 1.100 2010/08/05 23:53:39 webchick Exp $
 
 class UserRegistrationTestCase extends DrupalWebTestCase {
   public static function getInfo() {
@@ -1035,6 +1035,16 @@ class UserAdminTestCase extends DrupalWe
   }
 
   /**
+   * Captures sent e-mails for testing of content.
+   */
+  function drupal_mail_wrapper(array $message) {
+    $captured_emails = variable_get('drupal_test_email_collector', array());
+    $captured_emails[] = $message;
+    variable_set('drupal_test_email_collector', $captured_emails);
+    return TRUE;
+  }
+
+  /**
    * Registers a user and deletes it.
    */
   function testUserAdmin() {
@@ -1085,7 +1095,8 @@ class UserAdminTestCase extends DrupalWe
     $account = user_load($user_c->uid, TRUE);
     $this->assertEqual($account->status, 0, 'User C blocked');
 
-    // Test unblocking of a user from /admin/people page and sending of activation mail
+    // Test unblocking of a user from /admin/people page, sending of activation
+    // mail and whether the mail contains an activation link.
     $editunblock = array();
     $editunblock['operation'] = 'unblock';
     $editunblock['accounts[' . $account->uid . ']'] = TRUE;
@@ -1093,8 +1104,14 @@ class UserAdminTestCase extends DrupalWe
     $account = user_load($user_c->uid, TRUE);
     $this->assertEqual($account->status, 1, 'User C unblocked');
     $this->assertMail("to", $account->mail, "Activation mail sent to user C");
+    $mails = variable_get('drupal_test_email_collector', array());
+    $match = strstr($mails[0]['body'], 'user/reset/' . $account->uid);
+    $this->assertTrue($match, 'Mail contains correct one-time-activation link.');
+
 
-    // Test blocking and unblocking another user from /user/[uid]/edit form and sending of activation mail
+    // Test blocking and unblocking another user from /user/[uid]/edit form,
+    // sending of activation mail and whether the mail contains an activation
+    // link.
     $user_d = $this->drupalCreateUser(array());
     $account1 = user_load($user_d->uid, TRUE);
     $this->drupalPost('user/' . $account1->uid . '/edit', array('status' => 0), t('Save'));
@@ -1104,6 +1121,9 @@ class UserAdminTestCase extends DrupalWe
     $account1 = user_load($user_d->uid, TRUE);
     $this->assertEqual($account1->status, 1, 'User D unblocked');
     $this->assertMail("to", $account1->mail, "Activation mail sent to user D");
+    $mails = variable_get('drupal_test_email_collector', array());
+    $match = strstr($mails[1]['body'], 'user/reset/' . $account1->uid);
+    $this->assertTrue($match, 'Mail contains correct one-time-activation link.');
   }
 }
 
