apps.dashboard.forms now employed in all views; FT helpers in base.py updated to look for Django's default #id_text (instead of #id-text)

This commit is contained in:
Disco DeDisco
2026-01-21 14:41:25 -05:00
parent 1d96871d7b
commit 071a3d2532
3 changed files with 17 additions and 19 deletions

View File

@@ -17,18 +17,12 @@ def new_list(request):
def view_list(request, list_id):
our_list = List.objects.get(id=list_id)
error = None
form = ItemForm()
if request.method == "POST":
form = ItemForm(data=request.POST)
try:
item = Item(text=request.POST['text'], list=our_list)
item.full_clean()
item.save()
if form.is_valid():
Item.objects.create(text=request.POST["text"], list=our_list)
return redirect(our_list)
except ValidationError:
error = "You can't have an empty list item"
return render(request, 'apps/dashboard/list.html', {'list': our_list, "form": form, "error": error})
return render(request, 'apps/dashboard/list.html', {'list': our_list, "form": form})

View File

@@ -42,4 +42,4 @@ class FunctionalTest(StaticLiveServerTestCase):
time.sleep(0.5)
def get_item_input_box(self):
return self.browser.find_element(By.ID, "id-text")
return self.browser.find_element(By.ID, "id_text")

View File

@@ -9,26 +9,30 @@ class ItemValidationTest(FunctionalTest):
self.get_item_input_box().send_keys(Keys.ENTER)
self.wait_for(
lambda: self.assertEqual(
self.browser.find_element(By.CSS_SELECTOR, ".invalid-feedback").text,
"You can't have an empty list item",
)
lambda: self.browser.find_element(By.CSS_SELECTOR, "#id_text:invalid")
)
self.get_item_input_box().send_keys("Purchase milk")
self.get_item_input_box().send_keys(Keys.ENTER)
self.wait_for(
lambda: self.browser.find_element(By.CSS_SELECTOR, "#id_text:valid")
)
self.get_item_input_box().send_keys(Keys.ENTER)
self.wait_for_row_in_list_table("1. Purchase milk")
self.get_item_input_box().send_keys(Keys.ENTER)
self.wait_for_row_in_list_table("1. Purchase milk")
self.wait_for(
lambda: self.assertEqual(
self.browser.find_element(By.CSS_SELECTOR, ".invalid-feedback").text,
"You can't have an empty list item",
)
lambda: self.browser.find_element(By.CSS_SELECTOR, "#id_text:invalid")
)
self.get_item_input_box().send_keys("Make tea")
self.wait_for(
lambda: self.browser.find_element(
By.CSS_SELECTOR,
"#id_text:valid",
)
)
self.get_item_input_box().send_keys(Keys.ENTER)
self.wait_for_row_in_list_table("2. Make tea")