From cca989e41678741d2213f292d5ad15d02eb987a3 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Sun, 3 Mar 2024 17:41:45 -0600 Subject: [PATCH] Make base class BaseTableUploadHandler responsible for state initialization --- src/pgwui_upload_core/views/upload.py | 11 +++++++---- tests/views/test_upload.py | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/pgwui_upload_core/views/upload.py b/src/pgwui_upload_core/views/upload.py index 47042cf..a676f03 100644 --- a/src/pgwui_upload_core/views/upload.py +++ b/src/pgwui_upload_core/views/upload.py @@ -109,10 +109,11 @@ class BaseTableUploadHandler(TabularFileUploadHandler): request A pyramid request instance uf A GCUploadForm instance session A pyramid session instance - ue - cur + ue Not available until self.factory(ue) is called + cur Not available until self.factory(ue) is called ''' ue = attr.ib(default=None) + cur = attr.ib(default=None) def get_data(self): ''' @@ -317,9 +318,11 @@ class BaseTableUploadHandler(TabularFileUploadHandler): Input: Side Effects: - Yes, lots. + Assigns: self.ue, self.cur + And, lots of changes to the db ''' - raise NotImplementedError() + self.ue = ue + self.cur = ue.cur def set_upload_response(component, request, response): diff --git a/tests/views/test_upload.py b/tests/views/test_upload.py index 580bc52..4afc17a 100644 --- a/tests/views/test_upload.py +++ b/tests/views/test_upload.py @@ -227,3 +227,21 @@ def test_report_bad_cols(mock_escape, quotecols): uh.report_bad_cols(None, ['col1', 'col2'], quotecols) assert True + + +# BaseTableUploadHandler.factory() + +@pytest.mark.unittest +def test_basetableuploadhandler_factory(): + '''The ue and cur values are assigned + ''' + ue = MockUploadEngine(None) + sample_cursor = 'sample cursor' + ue.cur = sample_cursor + + request = DummyRequest() + uh = upload.BaseTableUploadHandler(request) + uh.factory(ue) + + assert uh.ue == ue + assert uh.cur == sample_cursor -- 2.34.1