apps.dashboard.views & .tests.test_views now take advantage of DUPLICATE_ITEM_ERROR & ExistingListItemForm() from .forms

This commit is contained in:
Disco DeDisco
2026-01-23 22:30:42 -05:00
parent 004241d52d
commit f27b9ffb52
2 changed files with 8 additions and 6 deletions

View File

@@ -1,7 +1,10 @@
from django.test import TestCase
from django.utils import html
from unittest import skip
from ..forms import EMPTY_ITEM_ERROR
from ..forms import (
DUPLICATE_ITEM_ERROR,
EMPTY_ITEM_ERROR,
)
from ..models import Item, List
import lxml.html
@@ -119,7 +122,6 @@ class DashViewTest(TestCase):
response = self.post_invalid_input()
self.assertContains(response, html.escape(EMPTY_ITEM_ERROR))
@skip
def test_duplicate_item_validation_errors_end_up_on_lists_page(self):
list1 = List.objects.create()
Item.objects.create(list=list1, text="lorem ipsum")
@@ -129,7 +131,7 @@ class DashViewTest(TestCase):
data={"text": "lorem ipsum"},
)
expected_error = html.escape("You've already logged this to your list")
expected_error = html.escape(DUPLICATE_ITEM_ERROR)
self.assertContains(response, expected_error)
self.assertTemplateUsed(response, "apps/dashboard/list.html")
self.assertEqual(Item.objects.all().count(), 1)

View File

@@ -1,6 +1,6 @@
from django.core.exceptions import ValidationError
from django.shortcuts import redirect, render
from .forms import ItemForm
from .forms import ExistingListItemForm, ItemForm
from .models import Item, List
def home_page(request):
@@ -17,10 +17,10 @@ def new_list(request):
def view_list(request, list_id):
our_list = List.objects.get(id=list_id)
form = ItemForm()
form = ExistingListItemForm(for_list=our_list)
if request.method == "POST":
form = ItemForm(data=request.POST)
form = ExistingListItemForm(for_list=our_list, data=request.POST)
if form.is_valid():
form.save(for_list=our_list)
return redirect(our_list)