Initial regression test
authorKarl O. Pinc <kop@meme.com>
Thu, 25 Oct 2018 16:24:58 +0000 (11:24 -0500)
committerKarl O. Pinc <kop@meme.com>
Thu, 25 Oct 2018 16:24:58 +0000 (11:24 -0500)
tests/views/test_upload.py

index 388c4f7389129983dbf2c71edcd1967aa5c5a361..42eebc23032ec1ed2afed2cfd205d5b0a2b1e34b 100644 (file)
 
 # Karl O. Pinc <kop@meme.com>
 
-from pgwui_upload import upload
+from pgwui_upload.views import upload
 
 
-def test_example_func():
-    assert upload.example_func() == 1
+# Helper classes
+
+class MockUploadEngine():
+    def __init__(self, run_result):
+        self.run_result = run_result
+
+    def run(self):
+        return self.run_result
+
+
+class MockTableUploadHandler():
+    def __init__(self, *args):
+        pass
+
+
+# Tests
+
+# upload_view()
+
+def test_upload_view_db_not_changed(monkeypatch):
+    '''When the db did not change nothing logs'''
+
+    # Have the pyramid.view.view_config decorator do nothing
+    monkeypatch.setattr(upload, 'view_config',
+                        lambda **kwargs: (lambda func: func))
+
+    mock_info_called = False
+
+    def mock_info(*args):
+        nonlocal mock_info_called
+        mock_info_called = True
+
+    monkeypatch.setattr(upload, 'log', mock_info)
+
+    response = {'db_changed': False}
+
+    def upload_engine(*args):
+        return MockUploadEngine(response)
+
+    monkeypatch.setattr(upload, 'UploadEngine', upload_engine)
+    monkeypatch.setattr(upload, 'TableUploadHandler', MockTableUploadHandler)
+
+    result = upload.upload_view(None)
+
+    assert result == response
+    assert mock_info_called is False