Skip to content

Commit

Permalink
Add test for multiple initial files for a field (wooey#255)
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris7 authored Jun 23, 2018
1 parent 029278b commit 98eb231
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 2 deletions.
1 change: 0 additions & 1 deletion wooey/forms/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ def get_field(param, initial=None):
_initial.append(so)
else:
_initial.append(value)
_initial.append()
initial = _initial
else:
if not hasattr(initial, 'path'):
Expand Down
23 changes: 22 additions & 1 deletion wooey/tests/test_forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
from django.core.files.uploadedfile import SimpleUploadedFile

from ..backend import utils
from ..forms import WooeyForm
from ..forms import (
factory,
WooeyForm,
)
from ..forms import config as forms_config
from ..models import ScriptVersion, WooeyJob

Expand Down Expand Up @@ -168,3 +171,21 @@ def test_wooey_form(self):
forms = utils.get_form_groups(script_version=self.without_args)
wooey_form = forms['wooey_form']
self.assertDictEqual(wooey_form.initial, {'wooey_type': script_version.pk})

def test_multiple_file_field_initial_value(self):
# Addresses https://github.com/wooey/Wooey/issues/248
script_version = self.choice_script
multiple_files_param = script_version.scriptparameter_set.get(script_param='multiple_file_choices')
# Upload some fake files
storage = utils.get_storage(local=False)
storage.save('file1', SimpleUploadedFile('file1', b'abc'))
file1_path = storage.path('file1')
storage.save('file2', SimpleUploadedFile('file2', b'abc'))
file2_path = storage.path('file2')
form = utils.get_form_groups(script_version=script_version, initial_dict={
multiple_files_param.form_slug: ['file1', 'file2']
})
# TODO: Make a function to ease this
initial_files = [i.path for i in form['parsers'][(multiple_files_param.parser.pk, multiple_files_param.parser.name)][1]['form'].fields[multiple_files_param.form_slug].initial]
self.assertIn(file1_path, initial_files)
self.assertIn(file2_path, initial_files)

0 comments on commit 98eb231

Please sign in to comment.