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')
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')