def test_render_poll_state_info(self): from voteit.core.models.poll import Poll from voteit.core.views.api import APIView from voteit.core.testing_helpers import register_workflows register_workflows(self.config) self.config.include('pyramid_chameleon') self.config.registry.settings[ 'default_timezone_name'] = "Europe/Stockholm" self.config.include('voteit.core.models.date_time_util') self.config.scan('voteit.core.views.components.main') #root = active_poll_fixture(self.config) #poll = root['meeting']['ai']['poll'] poll = Poll() from voteit.core.models.date_time_util import utcnow poll.set_field_value('start_time', utcnow()) poll.set_field_value('end_time', utcnow()) request = testing.DummyRequest() #obj = self._cut(poll, request) api = APIView(poll, request) res = render_view_action(poll, request, 'main', 'poll_state_info', api=api) #obj.get_poll_state_info(poll) self.assertIn('The poll starts', res)
def test_render_flash_messages(self): from voteit.core.models.interfaces import IFlashMessages self.config.include('pyramid_chameleon') self.config.include('voteit.core.models.flash_messages') self.config.scan('voteit.core.views.components.main') from pyramid.session import UnencryptedCookieSessionFactoryConfig def _dummy_request_w_session(): request = testing.DummyRequest() request.session = UnencryptedCookieSessionFactoryConfig('messages')(request) return request context = testing.DummyResource() request = _dummy_request_w_session() request.session.flash({'msg': 'Hello world', 'type': 'info', 'close_button': True}) class DummyAPI(object): def __init__(self, request): self.request = request @property def flash_messages(self): return self.request.registry.getAdapter(self.request, IFlashMessages) api = DummyAPI(request) res = render_view_action(context, request, 'main', 'flash_messages', api = api) self.failUnless('Hello world' in res)
def test_integration(self): from voteit.core.models.user import User self.config.scan('voteit.core.views.components.user_info') context = User() request = testing.DummyRequest() self.assertIsInstance(render_view_action(context, request, 'user_info', 'basic_profile'), unicode)
def send(self, request, message = u""): if self.closed: #Just as a precaution return meeting = find_interface(self, IMeeting) html = render_view_action(self, request, 'email', 'invite_ticket', message = message) subject = _(u"Invitation to ${meeting_title}", mapping = {'meeting_title': meeting.title}) if send_email(subject = subject, recipients = self.email, html = html, request = request, send_immediately = True): self.sent_dates.append(utcnow())
def render_view_action(self, group, name, context = None, **kw): if context is None: context = self.context output = render_view_action(context, self.request, group, name, view = self, **kw) if output: return output #None will in some cases be changed to a string... return ''
def test_integration(self): #FIXME: This test bypasses permission checks. That's a bug in viewactions that need to be fixed. from betahaus.viewcomponent import render_view_action from voteit.core.views.api import APIView self.config.include('voteit.whosonline') context = self._meeting() request = testing.DummyRequest() res = render_view_action(context, request, 'sidebar', 'whosonline', api = APIView(context, request)) #Dummy self.assertIsInstance(res, unicode)
def test_integration(self): from voteit.core.models.user import User from voteit.core.views.api import APIView self.config.include('pyramid_chameleon') self.config.scan('voteit.core.views.components.user_info') context = User() request = testing.DummyRequest() api = APIView(context, request) self.assertIsInstance(render_view_action(context, request, 'user_info', 'basic_profile', api=api), unicode)
def test_integration(self): from voteit.core.models.user import User self.config.scan('voteit.core.views.components.user_info') context = User() request = testing.DummyRequest() self.assertIsInstance( render_view_action(context, request, 'user_info', 'basic_profile'), unicode)
def test_integration(self): from voteit.core.models.user import User from voteit.core.views.api import APIView self.config.scan('voteit.core.views.components.user_info') root = _fixture(self.config) root['u'] = context = User() request = testing.DummyRequest() api = APIView(context, request) self.assertIsInstance(render_view_action(context, request, 'user_info', 'latest_meeting_entries', api=api), unicode)
def test_integration(self): from voteit.core.models.user import User self.config.scan('voteit.core.views.components.user_info') root = _fixture(self.config) root['u'] = context = User() request = testing.DummyRequest(context = context) request.meeting = None request.root = root view = BaseView(context, request) self.assertIsInstance(render_view_action(context, request, 'user_info', 'latest_meeting_entries', view = view), unicode)
def test_integration(self): #FIXME: This test bypasses permission checks. That's a bug in viewactions that need to be fixed. from betahaus.viewcomponent import render_view_action from voteit.core.views.api import APIView from voteit.core.models.meeting import Meeting self.config.include('voteit.whosonline') self.config.include('voteit.core.testing_helpers.register_security_policies') root = self._fixture() context = root['users']['admin'] request = testing.DummyRequest() res = render_view_action(context, request, 'user_info', 'latest_activity', api = APIView(context, request)) #Dummy self.assertIsInstance(res, unicode)
def new_request_password_token(self, request): """ Set a new request password token and email user. """ locale = get_localizer(request) self.__token__ = createContent('RequestPasswordToken') pw_link = "%stoken_pw?token=%s" % (resource_url(self, request), self.__token__()) html = render_view_action(self, request, 'email', 'request_password', pw_link = pw_link) msg = Message(subject=_(u"Password reset request from VoteIT"), recipients=[self.get_field_value('email')], html = html) mailer = get_mailer(request) mailer.send(msg)
def test_integration(self): from voteit.core.models.user import User from voteit.core.views.api import APIView self.config.include('pyramid_chameleon') self.config.scan('voteit.core.views.components.user_info') context = User() request = testing.DummyRequest() api = APIView(context, request) self.assertIsInstance( render_view_action(context, request, 'user_info', 'basic_profile', api=api), unicode)
def test_integration(self): from voteit.core.models.user import User from voteit.core.views.api import APIView self.config.scan('voteit.core.views.components.user_info') root = _fixture(self.config) root['u'] = context = User() request = testing.DummyRequest() api = APIView(context, request) self.assertIsInstance( render_view_action(context, request, 'user_info', 'latest_meeting_entries', api=api), unicode)
def test_integration(self): from voteit.core.models.user import User self.config.scan('voteit.core.views.components.user_info') root = _fixture(self.config) root['u'] = context = User() request = testing.DummyRequest(context=context) request.meeting = None request.root = root view = BaseView(context, request) self.assertIsInstance( render_view_action(context, request, 'user_info', 'latest_meeting_entries', view=view), unicode)
def test_render_poll_state_info(self): from voteit.core.models.poll import Poll from voteit.core.views.api import APIView from voteit.core.testing_helpers import register_workflows register_workflows(self.config) self.config.registry.settings['default_timezone_name'] = "Europe/Stockholm" self.config.include('voteit.core.models.date_time_util') self.config.scan('voteit.core.views.components.main') #root = active_poll_fixture(self.config) #poll = root['meeting']['ai']['poll'] poll = Poll() from voteit.core.models.date_time_util import utcnow poll.set_field_value('start_time', utcnow()) poll.set_field_value('end_time', utcnow()) request = testing.DummyRequest() #obj = self._cut(poll, request) api = APIView(poll, request) res = render_view_action(poll, request, 'main', 'poll_state_info', api = api) #obj.get_poll_state_info(poll) self.assertIn('The poll starts', res)
def test_render_flash_messages(self): from voteit.core.models.interfaces import IFlashMessages self.config.include('pyramid_chameleon') self.config.include('voteit.core.models.flash_messages') self.config.scan('voteit.core.views.components.main') from pyramid.session import UnencryptedCookieSessionFactoryConfig def _dummy_request_w_session(): request = testing.DummyRequest() request.session = UnencryptedCookieSessionFactoryConfig( 'messages')(request) return request context = testing.DummyResource() request = _dummy_request_w_session() request.session.flash({ 'msg': 'Hello world', 'type': 'info', 'close_button': True }) class DummyAPI(object): def __init__(self, request): self.request = request @property def flash_messages(self): return self.request.registry.getAdapter( self.request, IFlashMessages) api = DummyAPI(request) res = render_view_action(context, request, 'main', 'flash_messages', api=api) self.failUnless('Hello world' in res)