From e3e753369f7b275fea30c5bb2d2dc085fb3e2c12 Mon Sep 17 00:00:00 2001 From: Disco DeDisco Date: Sat, 3 Jan 2026 21:12:28 -0500 Subject: [PATCH] added lxml & cssselect to req'ments; this allowed more precise targeting of html attrs in apps.dashboard.tests' --- apps/dashboard/tests.py | 26 +++++++++++--------------- requirements.txt | Bin 902 -> 964 bytes 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/apps/dashboard/tests.py b/apps/dashboard/tests.py index 117ba5c..aa3ea94 100644 --- a/apps/dashboard/tests.py +++ b/apps/dashboard/tests.py @@ -1,5 +1,6 @@ from django.test import TestCase from .models import Item, List +import lxml.html class HomePageTest(TestCase): def test_uses_home_template(self): @@ -8,12 +9,11 @@ class HomePageTest(TestCase): def test_renders_input_form(self): response = self.client.get('/') - self.assertContains(response, '
') - self.assertContains( - response, - '', - html=True, - ) + parsed = lxml.html.fromstring(response.content) + [form] = parsed.cssselect('form[method=POST]') + self.assertEqual(form.get('action'), '/apps/dashboard/newlist') + inputs = form.cssselect('input') + self.assertIn('item_text', [input.get('name') for input in inputs]) class ListAndItemModelsTest(TestCase): def test_saving_and_retrieving_items(self): @@ -52,15 +52,11 @@ class DashViewTest(TestCase): def test_renders_input_form(self): mylist = List.objects.create() response = self.client.get(f'/apps/dashboard/{mylist.id}/') - self.assertContains( - response, - f'', - ) - self.assertContains( - response, - '', - html=True, - ) + parsed = lxml.html.fromstring(response.content) + [form] = parsed.cssselect('form[method=POST]') + self.assertEqual(form.get('action'), f"/apps/dashboard/{mylist.id}/add-item") + inputs = form.cssselect('input') + self.assertIn('item_text', [input.get('name') for input in inputs]) def test_displays_only_items_for_that_list(self): # Given/Arrange diff --git a/requirements.txt b/requirements.txt index 722d7791ef91ba18c15fc85f05380d72aa275f1f..97e844dce3a6f5b43dade4199684dda8d8655b3c 100644 GIT binary patch delta 64 zcmZo;Kf*qtO*)yO7z|Sxau`w>k{L=EY=O{_L650PR2xng9R* delta 14 VcmX@Y-o`$mZQ`mGn{yZ=m;f&h1