def test_destroys_old_fields_and_creates_new_ones(self):
     form = mommy.make(Form, number=3, version=2, name='x')
     field = mommy.make(FormField, form=form, kind='info')
     new_field = mommy.prepare(FormField, kind='short-answer')
     new_field_data = model_to_dict(new_field)
     forms_service.update(3, 2, fields=[new_field_data])
     self.assertRaises(FormField.DoesNotExist,
                       FormField.objects.get, id=field.id)
     fields = FormField.objects.filter(form=form)
     self.assertEqual(len(fields), 1)
     self.assertEqual(fields[0].kind, 'short-answer')
Exemplo n.º 2
0
def _update_form(request, number, version):
    data = json.loads(request.body).get('form', {})
    if not data:
        return JSONResponse({'error': 'Nothing to update.'}, 403)
    data.update({'number': number, 'version': version, 'user': request.user})
    form = forms_service.update(**data)
    return JSONResponse({'date': str(form.modified)})
 def test_updates_and_returns_form_if_not_locked(self):
     mommy.make(Form, number=3, version=2, name='x')
     form = forms_service.update(3, 2, name='y')
     self.assertIsInstance(form, Form)
     self.assertEqual(form.name, 'y')
     self.assertEqual(Form.objects.get(id=form.id).name, 'y')