[Checkins] SVN: Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/ Browser tests to replace unworkable functional tests.
Charlie Clark
charlie at begeistert.org
Wed Aug 19 11:28:11 EDT 2009
Log message for revision 102972:
Browser tests to replace unworkable functional tests.
Changed:
A Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/new_folder.txt
U Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/test_new_folder.py
-=-
Added: Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/new_folder.txt
===================================================================
--- Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/new_folder.txt (rev 0)
+++ Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/new_folder.txt 2009-08-19 15:28:10 UTC (rev 102972)
@@ -0,0 +1,63 @@
+Form Views
+--------------
+
+Set up user.
+
+ >>> uf = app.site.acl_users
+ >>> uf._doAddUser('mgr', 'mgrpw', ['Manager'], [])
+ >>> from zope.app.component.hooks import setSite
+ >>> setSite(app.site)
+
+Create the browser object we'll be using.
+
+ >>> from Products.Five.testbrowser import Browser
+ >>> browser = Browser()
+ >>> browser.handleErrors = False
+ >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
+
+Open the contents view with the various options selected.
+All sort options apart from position are reversible.
+
+ >>> browser.open('http://localhost/site/@@contents.html?form.b_start=25')
+ >>> 'name="form.b_start" type="hidden" value="25"' in browser.contents
+ True
+ >>> browser.open('http://localhost/site/@@contents.html?form.sort_key=Type')
+ >>> 'name="form.sort_key" type="hidden" value="Type"' in browser.contents
+ True
+ >>> '<a href="http://localhost/site/@@contents.html?form.sort_key=Type&form.reverse=1">' \
+ ... in browser.contents
+ True
+ >>> browser.open('http://localhost/site/@@contents.html?form.sort_key=getId')
+ >>> 'name="form.sort_key" type="hidden" value="getId"' in browser.contents
+ True
+ >>> '<a href="http://localhost/site/@@contents.html?form.sort_key=getId&form.reverse=1">' \
+ ... in browser.contents
+ True
+ >>> browser.open('http://localhost/site/@@contents.html?form.sort_key=modified')
+ >>> 'name="form.sort_key" type="hidden" value="modified"' in browser.contents
+ True
+ >>> '<a href="http://localhost/site/@@contents.html?form.sort_key=modified&form.reverse=1">' \
+ ... in browser.contents
+ True
+ >>> browser.open('http://localhost/site/@@contents.html?form.sort_key=position')
+ >>> 'name="form.sort_key" type="hidden" value="position"' in browser.contents
+ True
+ >>> '<a href="http://localhost/site/@@contents.html?form.sort_key=position&form.reverse=1">' \
+ ... in browser.contents
+ False
+
+
+
+ >>> browser.open('http://localhost/site/@@contents.html?form.sort_key=Type&form.reverse=1')
+ >>> 'name="form.reverse" type="hidden" value="1"' in browser.contents
+ True
+ >>> browser.open('http://localhost/site/@@contents.html?form.sort_key=getId&form.reverse=1')
+ >>> 'name="form.reverse" type="hidden" value="1"' in browser.contents
+ True
+ >>> browser.open('http://localhost/site/@@contents.html?form.sort_key=modified&form.reverse=1')
+ >>> 'name="form.reverse" type="hidden" value="1"' in browser.contents
+ True
+ >>> browser.open('http://localhost/site/@@contents.html?form.sort_key=position&form.reverse=1')
+ >>> 'name="form.reverse" type="hidden" value="1"' in browser.contents
+ True
+
Modified: Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/test_new_folder.py
===================================================================
--- Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/test_new_folder.py 2009-08-19 15:20:44 UTC (rev 102971)
+++ Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/test_new_folder.py 2009-08-19 15:28:10 UTC (rev 102972)
@@ -117,58 +117,71 @@
def site_login(self):
newSecurityManager(None,
UnrestrictedUser('god', '', ['Manager'], ''))
-
- def test_no_batches(self):
- """Empty folder should have no next or previous pages"""
- self.site_login()
- request = TestRequest(ACTUAL_URL='http://foo.com/bar')
- view = ContentsView(self.folder, request)
- self.failIf(view.navigation_next())
- self.failIf(view.navigation_previous())
- def test_check_next_page(self):
- """First page has a next but no previous page"""
- self.site_login()
- self._make_batch()
- request = TestRequest(ACTUAL_URL='http://foo.com/bar')
- view = ContentsView(self.folder, request)
- self.assertEquals(view.navigation_next()['title'],
- "Next ${count} items")
- self.failIf(view.navigation_previous())
-
- def test_check_prev_page(self):
- """Last page has a previous but no next page"""
- self.site_login()
- self._make_batch()
- request = TestRequest(ACTUAL_URL='http://foo.com/bar')
- request.form = {'form.b_start':25}
- view = ContentsView(self.folder, request)
- self.assertEquals(view.navigation_previous()['title'],
- "Previous ${count} items")
- self.failIf(view.navigation_next())
-
- def test_page_count(self):
- """Check batch page count"""
- self._make_batch()
- request = TestRequest(ACTUAL_URL='http://foo.com/bar')
- view = ContentsView(self.folder, request)
- self.assertEquals(view.page_count(), 2)
-
- def test_page_range(self):
- """Check page range by starting on page fifteen.
- The page range should then be 10 to 19"""
- batch_size = ContentsView._BATCH_SIZE
- for i in range(batch_size * 20):
- content_id = "Dummy%s" % i
- self._make_one(content_id)
- request = TestRequest(ACTUAL_URL='http://foo.com/bar')
- request.form = {'form.b_start':batch_size * 14}
- view = ContentsView(self.folder, request)
- self.assertEquals(view.page_range()[0]['number'], 11)
- self.assertEquals(view.page_range()[-1]['number'], 20)
-
+ ### Form tests are not possible in Zope with
+ # zope.publisher.browser.TestRquest
+ # def test_no_batches(self):
+ # """Empty folder should have no next or previous pages"""
+ # self.site_login()
+ # request = TestRequest(ACTUAL_URL='http://foo.com/bar')
+ # view = ContentsView(self.folder, request)
+ # self.failIf(view.navigation_next())
+ # self.failIf(view.navigation_previous())
+ #
+ # def test_check_next_page(self):
+ # """First page has a next but no previous page"""
+ # self.site_login()
+ # self._make_batch()
+ # request = TestRequest(ACTUAL_URL='http://foo.com/bar')
+ # view = ContentsView(self.folder, request)
+ # print view._getNavigationURL(25)
+ # self.assertEquals(view.navigation_next()['title'],
+ # "Next ${count} items")
+ # self.failIf(view.navigation_previous())
+ #
+ # def test_check_prev_page(self):
+ # """Last page has a previous but no next page"""
+ # self.site_login()
+ # self._make_batch()
+ # request = TestRequest(ACTUAL_URL='http://foo.com/bar')
+ # request.form = {'form.b_start':25}
+ # view = ContentsView(self.folder, request)
+ # self.assertEquals(view.navigation_previous()['title'],
+ # "Previous ${count} items")
+ # self.failIf(view.navigation_next())
+ #
+ # def test_page_count(self):
+ # """Check batch page count"""
+ # self._make_batch()
+ # request = TestRequest(ACTUAL_URL='http://foo.com/bar')
+ # view = ContentsView(self.folder, request)
+ # self.assertEquals(view.page_count(), 2)
+ #
+ # def test_page_range(self):
+ # """Check page range by starting on page fifteen.
+ # The page range should then be 10 to 19"""
+ # batch_size = ContentsView._BATCH_SIZE
+ # for i in range(batch_size * 20):
+ # content_id = "Dummy%s" % i
+ # self._make_one(content_id)
+ # request = TestRequest(ACTUAL_URL='http://foo.com/bar')
+ # request.form = {'form.b_start':batch_size * 14}
+ # view = ContentsView(self.folder, request)
+ # self.assertEquals(view.page_range()[0]['number'], 11)
+ # self.assertEquals(view.page_range()[-1]['number'], 20)
+
+from Testing import ZopeTestCase
+from Products.CMFDefault.testing import FunctionalLayer
+
+ftest_suite = ZopeTestCase.FunctionalDocFileSuite('new_folder.txt')
+ftest_suite.layer = FunctionalLayer
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(FolderBrowserViewTests))
+ suite.addTest(unittest.TestSuite((
+ ftest_suite,
+ ))
+ )
return suite
\ No newline at end of file
More information about the Checkins
mailing list