def add_group(request): params = request.POST response = None group_form = HouseholdMemberGroupForm( initial={'order': HouseholdMemberGroup.max_order() + 1}) if request.method == 'POST': group_form = HouseholdMemberGroupForm(params) response = _process_groupform(request, group_form, action='added', redirect_url='/groups/') context = { 'groups_form': group_form, 'conditions': GroupCondition.objects.all(), 'title': "New Group", 'button_label': 'Create', 'id': 'add_group_form', 'action': "/groups/new/", 'cancel_url': '/groups/', 'condition_form': GroupConditionForm(), 'condition_title': "New Eligibility Criteria" } request.breadcrumbs([ ('Member Groups', reverse('household_member_groups_page')), ]) return response or render(request, 'household_member_groups/new.html', context)
def edit_group(request, group_id): params = request.POST response = None group = HouseholdMemberGroup.objects.get(id=group_id) group_form = HouseholdMemberGroupForm( instance=group, initial={'conditions': [gp.id for gp in group.conditions.all()]}) if request.method == 'POST': group_form = HouseholdMemberGroupForm(params, instance=group) redirect_url = "/groups/%s/" % group_id performed_action = 'edited' response = _process_groupform(request, group_form, performed_action, redirect_url) context = { 'groups_form': group_form, 'conditions': GroupCondition.objects.all(), 'title': "Edit Group", 'button_label': 'Save', 'id': 'add_group_form', 'action': "/groups/%s/edit/" % group_id, 'condition_form': GroupConditionForm(), 'condition_title': "New Criteria" } request.breadcrumbs([ ('Member Groups', reverse('household_member_groups_page')), ]) return response or render(request, 'household_member_groups/new.html', context)
def test_NaN_order(self): form_data = self.form_data form_data['order']= 'Not a Number' household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertTrue(household_member_group_form.errors.has_key('order')) expected_form_error = 'Enter a whole number.' self.assertEqual(household_member_group_form.errors['order'][0], expected_form_error)
def test_negative_order(self): form_data = self.form_data form_data['order']= -1 household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertTrue(household_member_group_form.errors.has_key('order')) expected_form_error = 'Ensure this value is greater than or equal to 0.' self.assertEqual(household_member_group_form.errors['order'][0], expected_form_error)
def test_NaN_order(self): form_data = self.form_data form_data['order'] = 'Not a Number' household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertTrue(household_member_group_form.errors.has_key('order')) expected_form_error = 'Enter a whole number.' self.assertEqual(household_member_group_form.errors['order'][0], expected_form_error)
def test_negative_order(self): form_data = self.form_data form_data['order'] = -1 household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertTrue(household_member_group_form.errors.has_key('order')) expected_form_error = 'Ensure this value is greater than or equal to 0.' self.assertEqual(household_member_group_form.errors['order'][0], expected_form_error)
def test_valid_order_edit_group_if_group_already_exists(self): household_member_group = HouseholdMemberGroup.objects.create(name="5 to 6 years", order=7) form_data = { 'name': household_member_group.name, 'order': str(household_member_group.order), 'conditions': [self.group_condition.id] } household_member_group_form = HouseholdMemberGroupForm(form_data, instance=household_member_group) self.assertTrue(household_member_group_form.is_valid())
def test_required_fields(self): form_data = self.form_data for field in form_data.keys(): form_data[field]= '' household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertTrue(household_member_group_form.errors.has_key(field)) expected_form_error = 'This field is required.' self.assertEqual(household_member_group_form.errors[field][0], expected_form_error) form_data = self.form_data
def test_required_fields(self): form_data = self.form_data for field in form_data.keys(): form_data[field] = '' household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertTrue(household_member_group_form.errors.has_key(field)) expected_form_error = 'This field is required.' self.assertEqual(household_member_group_form.errors[field][0], expected_form_error) form_data = self.form_data
def test_invalid_given_empty_fields_present(self): form_field_keys = ['name', 'order', 'conditions'] form_data = {'name': '', 'order': '', 'conditions': []} household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertEquals(3, len(household_member_group_form.errors)) [ self.assertTrue( household_member_group_form.errors.has_key(form_key)) for form_key in form_field_keys ]
def test_valid_order_edit_group_if_group_already_exists(self): household_member_group = HouseholdMemberGroup.objects.create( name="5 to 6 years", order=7) form_data = { 'name': household_member_group.name, 'order': str(household_member_group.order), 'conditions': [self.group_condition.id] } household_member_group_form = HouseholdMemberGroupForm( form_data, instance=household_member_group) self.assertTrue(household_member_group_form.is_valid())
def test_invalid_given_empty_fields_present(self): form_field_keys = ['name', 'order', 'conditions'] form_data = { 'name': '', 'order': '', 'conditions': [] } household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertEquals(3, len(household_member_group_form.errors)) [self.assertTrue(household_member_group_form.errors.has_key(form_key)) for form_key in form_field_keys]
def test_invalid_order_on_add_group_if_group_already_exists(self): household_member_group = HouseholdMemberGroup.objects.create(name="5 to 6 years", order=7) form_data = { 'name': household_member_group.name, 'order': household_member_group.order, 'conditions': [self.group_condition.id] } household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertEquals(1, len(household_member_group_form.errors)) self.assertTrue(household_member_group_form.errors.has_key('order')) expected_form_error = 'This order already exists. The minimum available is %d.'% (HouseholdMemberGroup.max_order()+1) self.assertEqual(household_member_group_form.errors['order'][0], expected_form_error)
def test_invalid_order_on_add_group_if_group_already_exists(self): household_member_group = HouseholdMemberGroup.objects.create( name="5 to 6 years", order=7) form_data = { 'name': household_member_group.name, 'order': household_member_group.order, 'conditions': [self.group_condition.id] } household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertEquals(1, len(household_member_group_form.errors)) self.assertTrue(household_member_group_form.errors.has_key('order')) expected_form_error = 'This order already exists. The minimum available is %d.' % ( HouseholdMemberGroup.max_order() + 1) self.assertEqual(household_member_group_form.errors['order'][0], expected_form_error)
def test_valid(self): form_data = self.form_data household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertTrue(household_member_group_form.is_valid())