new save FBVs, methods & test methods

This commit is contained in:
Disco DeDisco
2026-01-23 22:39:12 -05:00
parent f27b9ffb52
commit 49491e2497
3 changed files with 12 additions and 2 deletions

View File

@@ -33,3 +33,6 @@ class ExistingListItemForm(ItemForm):
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)

View File

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

View File

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