Make base class BaseTableUploadHandler responsible for state initialization
authorKarl O. Pinc <kop@karlpinc.com>
Sun, 3 Mar 2024 23:41:45 +0000 (17:41 -0600)
committerKarl O. Pinc <kop@karlpinc.com>
Sun, 3 Mar 2024 23:41:45 +0000 (17:41 -0600)
src/pgwui_upload_core/views/upload.py
tests/views/test_upload.py

index 47042cf5fb64238dfa423e1b897d1384c6589a68..a676f0386651681659dc452528d530a3f181f93d 100644 (file)
@@ -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):
index 580bc525e4ac7e733585293c684573d0656fe2d2..4afc17a0670cdc543c35859bf9a7134b420f5143 100644 (file)
@@ -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