![Show Menu](styles/mobile-menu.png)
![Page Background](./../common/page-substrates/page0121.jpg)
•
Get FTs to clean up after themselves
•
Adjust model so that items are associated
with different lists
•
Add unique URLs for each list
•
Add a URL for creating a new list via POST
•
Add URLs for adding a new item to an
existing list via POST
We’ve
sort of
made progress on the third item, even if there’s still only one list in the
world. Item 2 is a bit scary. Can we do something about items 4 or 5?
Let’s have a new URL for adding new list items. If nothing else, it’ll simplify the home
page view.
A Test Class for New List Creation
Open up
lists/tests.py
, and
move
the
test_home_page_can_save_a_POST_request
and
test_home_page_redirects_after_POST
methods into a new class, then change their
names:
lists/tests.py (ch06l021-1).
class
NewListTest
(
TestCase
):
def
test_saving_a_POST_request
(
self
):
request
=
HttpRequest
()
request
.
method
=
'POST'
[
...
]
def
test_redirects_after_POST
(
self
):
[
...
]
Now let’s use the Django test client:
lists/tests.py (ch06l021-2).
class
NewListTest
(
TestCase
):
def
test_saving_a_POST_request
(
self
):
self
.
client
.
post
(
'/lists/new'
,
data
=
{
'item_text'
:
'A new list item'
}
)
self
.
assertEqual
(
Item
.
objects
.
count
(),
1
)
new_item
=
Item
.
objects
.
first
()
self
.
assertEqual
(
new_item
.
text
,
'A new list item'
)
def
test_redirects_after_POST
(
self
):
Another URL and View for Adding List Items
|
93