Add event hook for attaching Rattail config to new requests.

This commit is contained in:
Lance Edgar 2014-02-21 10:10:10 -08:00
parent 23ffcc5a78
commit a958a7b285
4 changed files with 70 additions and 3 deletions

View file

@ -1,7 +1,9 @@
from unittest import TestCase
from mock import Mock
from pyramid import testing
from . import TestCase
from tailbone import subscribers
@ -11,3 +13,27 @@ class SubscribersTests(TestCase):
event = Mock()
event.__setitem__ = Mock()
subscribers.before_render(event)
class TestAddRattailConfigAttributeToRequest(TestCase):
def test_nothing_is_done_if_no_config_in_registry_settings(self):
request = testing.DummyRequest()
config = testing.setUp(request=request)
self.assertFalse('rattail_config' in request.registry.settings)
self.assertFalse(hasattr(request, 'rattail_config'))
event = Mock(request=request)
subscribers.add_rattail_config_attribute_to_request(event)
self.assertFalse(hasattr(request, 'rattail_config'))
testing.tearDown()
def test_attribute_added_if_config_present_in_registry_settings(self):
rattail_config = Mock()
request = testing.DummyRequest()
config = testing.setUp(request=request, settings={'rattail_config': rattail_config})
self.assertTrue('rattail_config' in request.registry.settings)
self.assertFalse(hasattr(request, 'rattail_config'))
event = Mock(request=request)
subscribers.add_rattail_config_attribute_to_request(event)
self.assertTrue(request.rattail_config is rattail_config)
testing.tearDown()