Use pgwui_testing plugin
authorKarl O. Pinc <kop@meme.com>
Wed, 14 Nov 2018 03:49:15 +0000 (21:49 -0600)
committerKarl O. Pinc <kop@meme.com>
Wed, 14 Nov 2018 03:49:15 +0000 (21:49 -0600)
setup.py
tests/views/test_logout.py

index c0eb8a284db6bde55ebc82c1995a0b4daf492384..6568e80e0f01d45ef6cbec4b1cf06a01c2aa9b49 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -59,6 +59,7 @@ long_description = filter_readme()
 
 # Pyramid testing requirements
 tests_require = [
+    'pgwui_testing==' + version,
     'WebTest >= 1.3.1',  # py3 compat
     'pytest>=3.7.4',
     'pytest-cov',
index dfeb4b950199955399033a58735137daf6b1e700..c0d5eb5e82d1388e004896cbf141bd04f19e4034 100644 (file)
 
 # Karl O. Pinc <kop@meme.com>
 
-import pyramid
+from pyramid.testing import DummyRequest
 
+from pgwui_common import includeme
 from pgwui_logout.views import logout
 
 
-def test_logout_view(monkeypatch):
+# Activiate our pytest plugin
+pytest_plugins = ("pgwui",)
+
+
+# Integration tests
+
+# logout_view()
+
+def test_logout_view(pyramid_config):
     '''Deletes the session, returns no errors'''
-    # Have the pyramid.view.view_config decorator do nothing
-    monkeypatch.setattr(pyramid.view, 'view_config',
-                        lambda **kwargs: (lambda func: func))
 
     class MockSession():
         def __init__(self):
@@ -37,13 +43,12 @@ def test_logout_view(monkeypatch):
         def delete(self):
             self.delete_called = True
 
-    class MockRequest():
-        def __init__(self, session):
-            self.session = session
-
     session = MockSession()
-    request = MockRequest(session)
+    request = DummyRequest()
+    request.session = session
+    includeme(pyramid_config)
     result = logout.logout_view(request)
+    del result['pgwui']  # Remove variables added by pgwui view decorators
 
     assert session.delete_called is True
     assert result == {'errors': []}