From fe19e93b79c94f27660cbfa7bac37e298f6c615c Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Thu, 5 Dec 2019 08:08:18 -0600 Subject: [PATCH] Abstract common test pattern into a fixture --- tests/views/test_upload.py | 42 +++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/tests/views/test_upload.py b/tests/views/test_upload.py index dde7e77..c5b322a 100644 --- a/tests/views/test_upload.py +++ b/tests/views/test_upload.py @@ -87,50 +87,46 @@ def isolate_upload_view(monkeypatch, pyramid_request_config): # upload_view() -def test_upload_view_db_not_changed(isolate_upload_view, caplog): - '''When the db did not change nothing logs''' +@pytest.fixture +def return_log_tuples(isolate_upload_view, caplog): + '''Get result and the caplog.record_tuples from the upload_view() call''' caplog.set_level(logging.DEBUG) - response = {'db_changed': False} + def run(response): + isolate_upload_view(response) + result = upload.upload_view(get_current_request()) + del result['pgwui'] # Remove variables added by pgwui view decorators - isolate_upload_view(response) - result = upload.upload_view(get_current_request()) - del result['pgwui'] # Remove variables added by pgwui view decorators + return (result, caplog.record_tuples) - log_tuples = caplog.record_tuples + return run + + +def test_upload_view_db_not_changed(return_log_tuples): + '''When the db did not change nothing logs''' + response = UNCHANGED_RESPONSE + (result, log_tuples) = return_log_tuples(response) assert result == response assert log_tuples == [] -def test_upload_view_db_changed_csv(isolate_upload_view, caplog): +def test_upload_view_db_changed_csv(return_log_tuples): '''When the db did change from CSV input something logs''' - caplog.set_level(logging.DEBUG) - response = CHANGED_RESPONSE response['csv_checked'] = form_constants.CHECKED + (result, log_tuples) = return_log_tuples(response) - isolate_upload_view(response) - result = upload.upload_view(get_current_request()) - del result['pgwui'] # Remove variables added by pgwui view decorators - - log_tuples = caplog.record_tuples assert result == response assert ([tup[:2] for tup in log_tuples] == [('pgwui_upload.views.upload', logging.INFO)]) -def test_upload_view_db_changed_no_csv(isolate_upload_view, caplog): +def test_upload_view_db_changed_no_csv(return_log_tuples): '''When the db did change from not-CSV input something logs''' - caplog.set_level(logging.DEBUG) - response = CHANGED_RESPONSE response['csv_checked'] = form_constants.UNCHECKED + (result, log_tuples) = return_log_tuples(response) - isolate_upload_view(response) - result = upload.upload_view(get_current_request()) - del result['pgwui'] # Remove variables added by pgwui view decorators - - log_tuples = caplog.record_tuples assert result == response assert ([tup[:2] for tup in log_tuples] == [('pgwui_upload.views.upload', logging.INFO)]) -- 2.34.1