def test_each_form_includes_fields_loaded(self):
     form = mommy.make(Form, number=3, version=2)
     mommy.make(FormField, form=form, kind='info')
     form = forms_service.versions(3)[0]
     with self.assertNumQueries(0):
         fields = form.formfield_set.all()
         self.assertEqual(len(fields), 1)
 def test_returns_list_of_forms_with_specified_number(self):
     form1 = mommy.make(Form, number=3, version=1)
     form2 = mommy.make(Form, number=3, version=2)
     mommy.make(Form, number=4, version=1)
     forms = forms_service.versions(3)
     self.assertEqual(len(forms), 2)
     self.assertEqual(forms[0].id, form1.id)
     self.assertEqual(forms[1].id, form2.id)
Beispiel #3
0
def form_versions(request, number):
    forms = forms_service.versions(number)
    exclude = ['user', 'created', 'modified']
    update = {'username': lambda f: f.user.username,
              'date': lambda f: _format_date(f.modified),
              'fields': lambda f: [model_to_dict(fld, 'form')
                                   for fld in f.formfield_set.all()],
              'numResponses': lambda f: f.num_responses}
    forms_data = [model_to_dict(f, *exclude, **update) for f in forms]
    return JSONResponse({'forms': forms_data})
 def test_adds_num_responses_annotation_to_each_form(self):
     form = mommy.make(Form, number=3, version=3)
     mommy.make(FormResponse, form=form, _quantity=2)
     self.assertEqual(forms_service.versions(3)[0].num_responses, 2)
 def test_each_form_includes_user_loaded(self):
     mommy.make(Form, number=3, version=2)
     form = forms_service.versions(3)[0]
     with self.assertNumQueries(0):
         form.user.username