Пример #1
0
 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)
Пример #2
0
    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)
Пример #3
0
 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)
Пример #4
0
 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())
Пример #5
0
 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 ''
Пример #6
0
 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)
Пример #7
0
 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)
Пример #8
0
    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)
Пример #9
0
 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)
Пример #10
0
 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)
Пример #11
0
 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)
Пример #12
0
 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)
Пример #13
0
 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)
Пример #14
0
 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)
Пример #15
0
 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)
Пример #16
0
 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)
Пример #17
0
    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)