[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py Initial unit tests for join form

Charlie Clark charlie at begeistert.org
Tue Jun 29 14:20:09 EDT 2010


Log message for revision 113988:
  Initial unit tests for join form

Changed:
  A   Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py

-=-
Added: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py	                        (rev 0)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py	2010-06-29 18:20:09 UTC (rev 113988)
@@ -0,0 +1,85 @@
+##############################################################################
+#
+# Copyright (c) 2010 Zope Foundation and Contributors.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Test Products.CMFDefault.browser.join
+
+$Id$
+"""
+
+import unittest
+
+from zope.component.testing import PlacelessSetup
+
+from Products.CMFDefault.browser.skins.tests.test_ursa import (
+                    DummyRequest, DummySite, DummyContext,
+                    DummyPropertiesTool, DummyURLTool, DummyActionsTool,
+                    DummyRegistrationTool
+                    )
+
+class JoinFormTests(unittest.TestCase, PlacelessSetup):
+    
+    def setUp(self):
+        PlacelessSetup.setUp(self)
+
+    def tearDown(self):
+        PlacelessSetup.tearDown(self)
+        
+    def _getTargetClass(self):
+        from Products.CMFDefault.browser.membership.join import Join
+        return Join
+
+    def _makeOne(self, site=None):
+        if site is None:
+            site = self._makeSite()
+        request = DummyRequest()
+        return self._getTargetClass()(site, request)
+        
+    def _makeSite(self, types=None, actions=None):
+        from zope.component import getSiteManager
+        from Products.CMFCore.interfaces import IPropertiesTool
+        site = DummyContext()
+        tool = site.portal_properties = DummyPropertiesTool()
+        sm = getSiteManager()
+        sm.registerUtility(tool, IPropertiesTool)
+        if types is not None:
+            site.portal_types = DummyTypesTool(types)
+            site.portal_url = DummyURLTool(site)
+            site.portal_membership = DummyMembershipTool()
+        if actions is not None:
+            site.portal_actions = DummyActionsTool(actions)
+        site.absolute_url = lambda: 'http://example.com'
+        return site
+        
+    def test_validation_not_required(self):
+        site = self._makeSite()
+        site.portal_properties.validate_email = False
+        view = self._makeOne(site)
+        self.assertTrue(view.form_fields.get("password"))
+        
+    def test_validation_required(self):
+        site = self._makeSite()
+        site.portal_properties.validate_email = True
+        view = self._makeOne(site)
+        self.assertEqual(view.form_fields.get("password"), None)
+        
+    def test_logged_in_user(self):
+        # logged in users cannot join
+        # they get to see the preferences
+        pass
+    
+    def test_successful_registration_validation_not_required(self):
+        # can proceed straight to login
+        pass
+    
+    def test_successful_registration_validation_required(self):
+        # note that password will be sent by e-mail    
+        pass
\ No newline at end of file


Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native



More information about the checkins mailing list