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