From d3fe9b7eb36964c0cc0b21a042a1d1908c1d0181 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sat, 10 Oct 2009 04:51:25 +0000 Subject: Move to renderers. Add tests. --- .../src/authorization/tutorial/configure.zcml | 21 ++-- .../bfgwiki2/src/authorization/tutorial/login.py | 5 +- .../bfgwiki2/src/authorization/tutorial/tests.py | 127 ++++++++++++++++++--- .../bfgwiki2/src/authorization/tutorial/views.py | 28 ++--- 4 files changed, 132 insertions(+), 49 deletions(-) (limited to 'docs') diff --git a/docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml b/docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml index 001959bb1..d9f6ffabd 100644 --- a/docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml +++ b/docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml @@ -15,6 +15,7 @@ path="login" name="login" view=".login.login" + renderer="templates/login.pt" /> - + \n' + '

Hello ' + 'CruelWorld ' + '' + 'IDoExist' + '

\n\n') + self.assertEqual(info['edit_url'], + 'http://example.com/IDoExist/edit_page') + + +class AddPageTests(unittest.TestCase): def setUp(self): - testing.cleanUp() - _initTestingDB() + self.session = _initTestingDB() + + def tearDown(self): + self.session.remove() + + def _callFUT(self, request): + from tutorial.views import add_page + return add_page(request) + + def test_it_notsubmitted(self): + _registerRoutes() + request = testing.DummyRequest() + request.matchdict = {'pagename':'AnotherPage'} + info = self._callFUT(request) + self.assertEqual(info['page'].data,'') + self.assertEqual(info['save_url'], + 'http://example.com/add_page/AnotherPage') + def test_it_submitted(self): + from tutorial.models import Page + _registerRoutes() + request = testing.DummyRequest({'form.submitted':True, + 'body':'Hello yo!'}) + request.matchdict = {'pagename':'AnotherPage'} + response = self._callFUT(request) + page = self.session.query(Page).filter_by(name='AnotherPage').one() + self.assertEqual(page.data, 'Hello yo!') + +class EditPageTests(unittest.TestCase): + def setUp(self): + self.session = _initTestingDB() + def tearDown(self): - testing.cleanUp() + self.session.remove() - def _callFUT(self, context, request): - from tutorial.views import my_view - return my_view(context, request) + def _callFUT(self, request): + from tutorial.views import edit_page + return edit_page(request) - def test_it(self): + def test_it_notsubmitted(self): + from tutorial.models import Page + _registerRoutes() request = testing.DummyRequest() - context = testing.DummyModel() - renderer = testing.registerDummyRenderer('templates/mytemplate.pt') - response = self._callFUT(context, request) - self.assertEqual(renderer.root.name, 'root') - self.assertEqual(renderer.request, request) - self.assertEqual(renderer.project, 'tutorial') + request.matchdict = {'pagename':'abc'} + page = Page('abc', 'hello') + self.session.add(page) + info = self._callFUT(request) + self.assertEqual(info['page'], page) + self.assertEqual(info['save_url'], 'http://example.com/abc/edit_page') + + def test_it_submitted(self): + from tutorial.models import Page + _registerRoutes() + request = testing.DummyRequest({'form.submitted':True, + 'body':'Hello yo!'}) + request.matchdict = {'pagename':'abc'} + page = Page('abc', 'hello') + self.session.add(page) + response = self._callFUT(request) + self.assertEqual(response.location, 'http://example.com/abc') + self.assertEqual(page.data, 'Hello yo!') diff --git a/docs/tutorials/bfgwiki2/src/authorization/tutorial/views.py b/docs/tutorials/bfgwiki2/src/authorization/tutorial/views.py index cb54d0577..49167a629 100644 --- a/docs/tutorials/bfgwiki2/src/authorization/tutorial/views.py +++ b/docs/tutorials/bfgwiki2/src/authorization/tutorial/views.py @@ -4,7 +4,6 @@ from docutils.core import publish_parts from webob.exc import HTTPFound -from repoze.bfg.chameleon_zpt import render_template_to_response from repoze.bfg.security import authenticated_userid from repoze.bfg.url import route_url @@ -37,12 +36,8 @@ def view_page(request): content = wikiwords.sub(check, content) edit_url = route_url('edit_page', request, pagename=pagename) logged_in = authenticated_userid(request) - return render_template_to_response('templates/view.pt', - request = request, - page = page, - content = content, - logged_in = logged_in, - edit_url = edit_url) + return dict(page=page, content=content, edit_url=edit_url, + logged_in=logged_in) def add_page(request): name = request.matchdict['pagename'] @@ -56,11 +51,7 @@ def add_page(request): save_url = route_url('add_page', request, pagename=name) page = Page('', '') logged_in = authenticated_userid(request) - return render_template_to_response('templates/edit.pt', - request = request, - page = page, - logged_in = logged_in, - save_url = save_url) + return dict(page=page, save_url=save_url, logged_in=logged_in) def edit_page(request): name = request.matchdict['pagename'] @@ -73,11 +64,8 @@ def edit_page(request): pagename=name)) logged_in = authenticated_userid(request) - return render_template_to_response('templates/edit.pt', - request = request, - page = page, - logged_in = logged_in, - save_url = route_url('edit_page', - request, - pagename=name), - ) + return dict( + page=page, + save_url = route_url('edit_page', request, pagename=name), + logged_in = logged_in, + ) -- cgit v1.2.3