more robust home_page() FBV in apps.dashboard.views feat. individual item handling; .tests return OK given this new view
This commit is contained in:
@@ -12,10 +12,14 @@ class HomePageTest(TestCase):
|
|||||||
self.assertContains(response, '<input name="item-text"')
|
self.assertContains(response, '<input name="item-text"')
|
||||||
|
|
||||||
def test_can_save_a_POST_request(self):
|
def test_can_save_a_POST_request(self):
|
||||||
response = self.client.post('/', data={'item-text': 'A new dashboard item'})
|
response = self.client.post('/', data={'item_text': 'A new dashboard item'})
|
||||||
|
self.assertEqual(Item.objects.count(), 1)
|
||||||
|
new_item = Item.objects.first()
|
||||||
|
self.assertEqual(new_item.text, 'A new dashboard item')
|
||||||
self.assertContains(response, 'A new dashboard item')
|
self.assertContains(response, 'A new dashboard item')
|
||||||
self.assertTemplateUsed(response, 'apps/dashboard/home.html')
|
self.assertTemplateUsed(response, 'apps/dashboard/home.html')
|
||||||
|
|
||||||
|
|
||||||
class ItemModelTest(TestCase):
|
class ItemModelTest(TestCase):
|
||||||
def test_saving_and_retrieving_items(self):
|
def test_saving_and_retrieving_items(self):
|
||||||
first_item = Item()
|
first_item = Item()
|
||||||
@@ -33,3 +37,4 @@ class ItemModelTest(TestCase):
|
|||||||
second_saved_item = saved_items[1]
|
second_saved_item = saved_items[1]
|
||||||
self.assertEqual(first_saved_item.text, "The first (ever) dashboard item")
|
self.assertEqual(first_saved_item.text, "The first (ever) dashboard item")
|
||||||
self.assertEqual(second_saved_item.text, "A sequel somehow better than the first")
|
self.assertEqual(second_saved_item.text, "A sequel somehow better than the first")
|
||||||
|
|
||||||
@@ -1,9 +1,14 @@
|
|||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
from .models import Item
|
||||||
|
|
||||||
def home_page(request):
|
def home_page(request):
|
||||||
|
item = Item()
|
||||||
|
item.text = request.POST.get('item_text', '')
|
||||||
|
item.save()
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
'apps/dashboard/home.html',
|
'apps/dashboard/home.html',
|
||||||
{'new_item_text': request.POST.get('item-text', '')},
|
{'new_item_text': request.POST.get('item_text', '')},
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user