new save FBVs, methods & test methods
This commit is contained in:
@@ -32,4 +32,7 @@ class ExistingListItemForm(ItemForm):
|
|||||||
text = self.cleaned_data["text"]
|
text = self.cleaned_data["text"]
|
||||||
if self.instance.list.item_set.filter(text=text).exists():
|
if self.instance.list.item_set.filter(text=text).exists():
|
||||||
raise forms.ValidationError(DUPLICATE_ITEM_ERROR)
|
raise forms.ValidationError(DUPLICATE_ITEM_ERROR)
|
||||||
return text
|
return text
|
||||||
|
|
||||||
|
def save(self):
|
||||||
|
return forms.models.ModelForm.save(self)
|
||||||
|
|||||||
@@ -49,3 +49,10 @@ class ExistingListItemFormTest(TestCase):
|
|||||||
form = ExistingListItemForm(for_list=list_, data={"text": "twins, basil"})
|
form = ExistingListItemForm(for_list=list_, data={"text": "twins, basil"})
|
||||||
self.assertFalse(form.is_valid())
|
self.assertFalse(form.is_valid())
|
||||||
self.assertEqual(form.errors["text"], [DUPLICATE_ITEM_ERROR])
|
self.assertEqual(form.errors["text"], [DUPLICATE_ITEM_ERROR])
|
||||||
|
|
||||||
|
def test_form_save(self):
|
||||||
|
mylist = List.objects.create()
|
||||||
|
form = ExistingListItemForm(for_list=mylist, data={"text": "howdy"})
|
||||||
|
self.assertTrue(form.is_valid())
|
||||||
|
new_item = form.save()
|
||||||
|
self.assertEqual(new_item, Item.objects.get())
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ def view_list(request, list_id):
|
|||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
form = ExistingListItemForm(for_list=our_list, data=request.POST)
|
form = ExistingListItemForm(for_list=our_list, data=request.POST)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
form.save(for_list=our_list)
|
form.save()
|
||||||
return redirect(our_list)
|
return redirect(our_list)
|
||||||
return render(request, 'apps/dashboard/list.html', {'list': our_list, "form": form})
|
return render(request, 'apps/dashboard/list.html', {'list': our_list, "form": form})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user