diff --git a/tests/test_formdata.py b/tests/test_formdata.py index d0f825954..980f12045 100644 --- a/tests/test_formdata.py +++ b/tests/test_formdata.py @@ -9,7 +9,7 @@ import pytest from quixote import get_publisher from quixote.http_request import Upload -from wcs import fields, formdef, sessions +from wcs import fields, sessions from wcs.blocks import BlockDef from wcs.carddef import CardDef from wcs.categories import Category @@ -49,21 +49,20 @@ def pub(request): pub.cfg['language'] = {'language': 'en'} pub.write_cfg() + return pub + + +@pytest.fixture +def formdef(pub): FormDef.wipe() - Category.wipe() - cat = Category(name='test category') - cat.store() - - global formdef formdef = FormDef() formdef.name = 'foobar' formdef.url_name = 'foobar' formdef.fields = [] - formdef.category_id = cat.id formdef.store() - return pub + return formdef def teardown_module(module): @@ -81,7 +80,12 @@ def local_user(): return user -def test_basic(pub): +def test_basic(pub, formdef): + Category.wipe() + cat = Category(name='test category') + cat.store() + formdef.category_id = cat.id + formdef.store() formdata = formdef.data_class()() substvars = formdata.get_substitution_variables() assert substvars.get('form_status') == 'Unknown' @@ -90,7 +94,7 @@ def test_basic(pub): assert substvars.get('category_name') == 'test category' -def test_saved(pub): +def test_saved(pub, formdef): formdef.data_class().wipe() formdata = formdef.data_class()() formdata.store() @@ -102,7 +106,7 @@ def test_saved(pub): assert substvars.get('form_status_url').endswith('/foobar/1/status') -def test_auto_display_id(pub): +def test_auto_display_id(pub, formdef): formdef.data_class().wipe() formdata = formdef.data_class()() formdata.store() @@ -111,7 +115,7 @@ def test_auto_display_id(pub): assert substvars.get('form_number_raw') == str(formdata.id) -def test_manual_display_id(pub): +def test_manual_display_id(pub, formdef): formdef.data_class().wipe() formdata = formdef.data_class()() formdata.id_display = 'bar' @@ -121,7 +125,7 @@ def test_manual_display_id(pub): assert substvars.get('form_number_raw') == str(formdata.id) -def test_submission_context(pub, local_user): +def test_submission_context(pub, formdef, local_user): formdef.data_class().wipe() formdata = formdef.data_class()() formdata.backoffice_submission = True @@ -145,7 +149,7 @@ def test_submission_context(pub, local_user): assert substvars.get('form_submission_agent_email') is None -def test_just_created(pub): +def test_just_created(pub, formdef): formdef.data_class().wipe() formdata = formdef.data_class()() formdata.just_created() @@ -160,7 +164,7 @@ def test_just_created(pub): assert substvars.get('form_evolution') -def test_field(pub): +def test_field(pub, formdef): formdef.data_class().wipe() formdef.fields = [fields.StringField(id='0', label='string')] formdef.store() @@ -174,7 +178,7 @@ def test_field(pub): assert substvars.get('form_field_string') == 'test' -def test_field_varname(pub): +def test_field_varname(pub, formdef): formdef.data_class().wipe() formdef.fields = [fields.StringField(id='0', label='string', varname='foo')] formdef.store() @@ -185,7 +189,7 @@ def test_field_varname(pub): assert substvars.get('form_var_foo') == 'test' -def test_file_field(pub): +def test_file_field(pub, formdef): formdef.data_class().wipe() formdef.fields = [fields.FileField(id='0', label='file', varname='foo')] formdef.store() @@ -212,7 +216,7 @@ def test_file_field(pub): assert substvars['form_var_foo_url'] is None -def test_get_submitter(pub): +def test_get_submitter(pub, formdef): formdef.data_class().wipe() formdef.fields = [ fields.StringField(id='0', label='email', varname='foo', prefill={'type': 'user', 'value': 'email'}) @@ -235,9 +239,8 @@ def test_get_submitter(pub): assert formdef.get_submitter_email(formdata) == 'bar@localhost' -def test_get_last_update_time(pub): +def test_get_last_update_time(pub, formdef): formdef.data_class().wipe() - formdef.store() formdata = formdef.data_class()() assert formdata.last_update_time is None @@ -259,7 +262,7 @@ def test_get_last_update_time(pub): assert formdata.last_update_time == formdata.receipt_time -def test_password_field(pub): +def test_password_field(pub, formdef): formdef.data_class().wipe() formdef.fields = [fields.PasswordField(id='0', label='pwd')] formdef.store() @@ -271,7 +274,7 @@ def test_password_field(pub): assert formdata2.data == {'0': {'cleartext': 'foo'}} -def test_date_field(pub): +def test_date_field(pub, formdef): formdef.data_class().wipe() formdef.fields = [fields.DateField(id='0', label='date')] formdef.store() @@ -507,7 +510,7 @@ def test_field_bool_substvars(pub): assert variables.get('form_var_xxx_raw') is True -def test_backoffice_field_varname(pub): +def test_backoffice_field_varname(pub, formdef): wf = Workflow(name='bo fields') wf.backoffice_fields_formdef = WorkflowBackofficeFieldsFormDef(wf) wf.backoffice_fields_formdef.fields = [ @@ -526,7 +529,7 @@ def test_backoffice_field_varname(pub): assert substvars.get('form_var_backoffice_blah') == 'test' -def test_workflow_data_file_url(pub): +def test_workflow_data_file_url(pub, formdef): upload = PicklableUpload('test.txt', 'text/plain', 'ascii') upload.receive([b'first line', b'second line']) diff --git a/tests/test_sql.py b/tests/test_sql.py index 71aca8784..64682b64b 100644 --- a/tests/test_sql.py +++ b/tests/test_sql.py @@ -575,7 +575,6 @@ def test_get_users_formdef_fts(): @postgresql def test_urlname_change(): - global formef data_class = formdef.data_class(mode='sql') data_class.wipe() assert formdef.url_name == 'tests'