diff --git a/onadata/apps/api/tests/viewsets/test_xform_viewset.py b/onadata/apps/api/tests/viewsets/test_xform_viewset.py index c3293ae748..17be87eeb3 100644 --- a/onadata/apps/api/tests/viewsets/test_xform_viewset.py +++ b/onadata/apps/api/tests/viewsets/test_xform_viewset.py @@ -2710,15 +2710,32 @@ def test_update_xform_using_put_with_invalid_input(self): 'public_data': False, 'project': 'http://testserver/api/v1/projects/{0}'.format( self.xform.project.pk), - 'title': 'Transport Form', + 'title': 'http://api.kfc.burger-king.nandos.io', 'version': unsanitized_html_str } # trigger error is form version is invalid - with self.assertRaises(XLSFormError): + with self.assertRaises(XLSFormError) as err: + request = self.factory.put('/', data=put_data, **self.extra) + response = view(request, pk=form_id) + + self.assertEqual( + "Invalid title value; shouldn't matches a url", + str(err.exception) + ) + + put_data['title'] = 'Transport Form' + + # trigger error is form version is invalid + with self.assertRaises(XLSFormError) as err: request = self.factory.put('/', data=put_data, **self.extra) response = view(request, pk=form_id) + self.assertEqual( + "Version shouldn't have any invalid characters ('>' '&' '<')", + str(err.exception) + ) + put_data['version'] = self.xform.version request = self.factory.put('/', data=put_data, **self.extra)