Merge pull request #3215 from vismay-golwala/survey_allow_empty_defaults

Allow empty default values for numerical survey answers.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
This commit is contained in:
softwarefactory-project-zuul[bot] 2019-03-21 16:37:02 +00:00 committed by GitHub
commit e3bbd436b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View File

@ -2530,7 +2530,7 @@ class JobTemplateSurveySpec(GenericAPIView):
).format(
allowed_types=', '.join(JobTemplateSurveySpec.ALLOWED_TYPES.keys()), **context
)))
if 'default' in survey_item:
if 'default' in survey_item and survey_item['default'] != '':
if not isinstance(survey_item['default'], JobTemplateSurveySpec.ALLOWED_TYPES[qtype]):
type_label = 'string'
if qtype in ['integer', 'float']:

View File

@ -413,3 +413,11 @@ class TestSurveySpecValidation:
spec['spec'][0].pop('type')
r = JobTemplateSurveySpec._validate_spec_data(spec, {})
assert "'type' missing from survey question 0" in r.data['error']
@pytest.mark.parametrize('_type', ['integer', 'float'])
def test_survey_spec_element_number_empty_default(self, _type):
""" Assert that empty default is allowed for answer. """
spec = self.spec_from_element({'type': _type, 'default': ''})
r = JobTemplateSurveySpec._validate_spec_data(spec, {})
assert r is None