def test_form_validation_for_valid_data(self): group = Group.objects.create(name='Testing') form = QuitsGroupForm(owner=self.owner, data={ 'currency': '£', 'group': group.id, }) self.assertTrue(form.is_valid())
def new_group(request): group_form = None quits_group_form = None user = request.user if request.method == 'POST': members = [id_ for id_ in request.POST.getlist('contacts')] group_data = { 'name': request.POST['name'], 'contacts': members, } emails = [] for i in range(5): key = 'emails_{}'.format(str(i)) try: group_data[key] = request.POST[key] emails.append(request.POST[key]) except: pass group_form = GroupForm(owner=user, data=group_data) if group_form.is_valid() and request.POST.get('currency'): group = group_form.save() quits_group_data = { 'currency': request.POST['currency'], 'group': group.id, } quits_group_form = QuitsGroupForm( owner=user, data=quits_group_data) if quits_group_form.is_valid(): quits_group_form.save() emails = [user.email for user in group.user_set.exclude(is_active=True)] send_invitations(request=request, user=user, emails=emails) return redirect('view_group', group.id) if not group_form: group_form = GroupForm(owner=user) if not quits_group_form: quits_group_form = QuitsGroupForm(owner=request.user) context = { 'group_form': group_form, 'quits_group_form': quits_group_form, } return render(request, 'quits/new_group.html', context)
def test_form_renders_currency_input(self): form = QuitsGroupForm(owner=self.owner) self.assertIn('id="input_currency"', form.as_p())
def test_form_invalid_without_group(self): form = QuitsGroupForm(owner=self.owner,data={ 'currency': '£', }) self.assertFalse(form.is_valid())
def test_form_invalid_without_group(self): form = QuitsGroupForm(owner=self.owner, data={ 'currency': '£', }) self.assertFalse(form.is_valid())