# 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