def _get_current_forms(request): forms = forms_service.current_forms() exclude = ['user', 'created', 'modified'] update = {'username': lambda f: f.user.username, 'date': lambda f: _format_date(f.modified), 'prevPublished': lambda f: f.prev_published, '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_provides_empty_query_list_when_no_forms(self): self.assertEqual(len(forms_service.current_forms()), 0)
def test_adds_prev_published_annotation_to_each_form(self): mommy.make(Form, number=1, version=1, published=True) mommy.make(Form, number=1, version=2, current=True) mommy.make(Form, number=2, version=1, current=True) self.assertTrue(forms_service.current_forms()[0].prev_published) self.assertFalse(forms_service.current_forms()[1].prev_published)
def test_adds_num_responses_annotation_to_each_form(self): form = mommy.make(Form, number=1, version=1, current=True) mommy.make(FormResponse, form=form, _quantity=2) self.assertEqual(forms_service.current_forms()[0].num_responses, 2)
def test_lists_current_forms(self): mommy.make(Form, number=1, current=True) mommy.make(Form, number=2) self.assertEqual(len(forms_service.current_forms()), 1)