r13539 - archetypes.memberdatastorage/trunk/archetypes/memberdatastorage/tests
"Raphael Ritz" <[email protected]> Tue, 29 Mar 2011 10:17:18 +0000
| Newsgroups | gmane.comp.web.zope.plone.archetypes.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: raphael
Date: Tue Mar 29 10:17:16 2011
New Revision: 13539
Modified:
archetypes.memberdatastorage/trunk/archetypes/memberdatastorage/tests/test_memberpropertyfield.py
Log:
Extending test coverage to also check changing memberproperties affects fields on content items using a.mds.
Modified: archetypes.memberdatastorage/trunk/archetypes/memberdatastorage/tests/test_memberpropertyfield.py
==============================================================================
--- archetypes.memberdatastorage/trunk/archetypes/memberdatastorage/tests/test_memberpropertyfield.py (original)
+++ archetypes.memberdatastorage/trunk/archetypes/memberdatastorage/tests/test_memberpropertyfield.py Tue Mar 29 10:17:16 2011
@@ -56,6 +56,15 @@
tear things down here.
"""
+ def _setup_memberarea(self, type='Document'):
+ self.membership.memberarea_type = type
+ self.membership.memberareaCreationFlag = 1
+
+ def _make_email_field(self, context):
+ from archetypes.memberdatastorage.memberpropertyfield \
+ import MemberPropertyField
+ context.schema.addField(MemberPropertyField('email',default='[email protected]'))
+ context.schema.initializeLayers(context)
def test_fallback_use_of_memberpropertyfield(self):
@@ -108,15 +117,58 @@
self.assertEquals(property_value, content_value)
+ def test_memberarea_creation(self):
+ #Create a member area
+ self._setup_memberarea()
+ self.login('user1')
+ self.portal.logged_in()
+
+ #Add email field and assign value
+ home = self.membership.getHomeFolder()
+ self._make_email_field(home)
+ home.schema['email'].set(home, '[email protected]')
+
+ content_email = home.schema['email'].get(home)
+ #Just to make sure...
+ self.assertEqual('[email protected]', content_email)
+
+ #It should exist as a property - (If we use getAuthenticatedMember() it won't work)
+ member = self.membership.getMemberById('user1')
+ property_email = member.getProperty('email')
+
+ self.assertEqual(content_email, property_email)
+
+ def test_memberarea_with_escaped_login_name(self):
+ self._setup_memberarea()
+ userid = email = '[email protected]'
+ self.membership.addMember(userid, 'u1', ['Member'], [],
+ {'email': email,
+ 'fullname': 'Escaped User'})
+
+ self.login(userid)
+ self.portal.logged_in()
+
+ #Add email field and assign value
+ home = self.membership.getHomeFolder()
+ self._make_email_field(home)
+ home.schema['email'].set(home, '[email protected]')
+
+ content_email = home.schema['email'].get(home)
+ #Just to make sure...
+ self.assertEqual('[email protected]', content_email)
+
+ #It should exist as a property - (If we use getAuthenticatedMember() it won't work)
+ member = self.membership.getMemberById(userid)
+ property_email = member.getProperty('email')
+
+ self.assertEqual(content_email, property_email)
+
+
## TODO: the fallback could be tested more rigorously;
## test properties other than string type
def test_suite():
-
"""This sets up a test suite that actually runs the tests in the class
above
"""
-
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestMemberPropertyField))
- return suite
+ return unittest.defaultTestLoader.loadTestsFromName(__name__)
------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software
be a part of the solution? Download the Intel(R) Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar