Allow empty default values for numerical survey answers.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
This commit is contained in:
Vismay Golwala 2019-02-12 11:38:54 -05:00
parent 570283fba2
commit 4f13255f35
2 changed files with 9 additions and 1 deletions

View File

@ -2509,7 +2509,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