added more tests
This commit is contained in:
parent
aa32fb3ee3
commit
2b41a04dfb
@ -44,9 +44,9 @@ def create_question(question_text, days):
|
||||
"""
|
||||
time = timezone.now() + datetime.timedelta(days=days)
|
||||
|
||||
|
||||
return Question.objects.create(question_text=question_text, pub_date=time)
|
||||
|
||||
|
||||
class QuestionIndexViewTests(TestCase):
|
||||
def test_no_questions(self):
|
||||
"""
|
||||
@ -103,3 +103,25 @@ class QuestionIndexViewTests(TestCase):
|
||||
response.context["latest_question_list"],
|
||||
[question2, question1],
|
||||
)
|
||||
|
||||
|
||||
class QuestionDetailViewTests(TestCase):
|
||||
def test_future_question(self):
|
||||
"""
|
||||
The detail view of a question with a pub_date in the future
|
||||
returns a 404 not found.
|
||||
"""
|
||||
future_question = create_question(question_text="Future question.", days=5)
|
||||
url = reverse("polls:detail", args=(future_question.id,)) # type: ignore
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 404)
|
||||
|
||||
def test_past_question(self):
|
||||
"""
|
||||
The detail view of a question with a pub_date in the past
|
||||
displays the question's text.
|
||||
"""
|
||||
past_question = create_question(question_text="Past Question.", days=-5)
|
||||
url = reverse("polls:detail", args=(past_question.id,)) # type: ignore
|
||||
response = self.client.get(url)
|
||||
self.assertContains(response, past_question.question_text)
|
||||
|
||||
@ -19,15 +19,21 @@ class IndexView(generic.ListView):
|
||||
Return the last five published questions (not including those set to be
|
||||
published in the future).
|
||||
"""
|
||||
return Question.objects.filter(pub_date__lte=timezone.now()).order_by("-pub_date")[
|
||||
:5
|
||||
]
|
||||
return Question.objects.filter(pub_date__lte=timezone.now()).order_by(
|
||||
"-pub_date"
|
||||
)[:5]
|
||||
|
||||
|
||||
class DetailView(generic.DetailView):
|
||||
model = Question
|
||||
template_name = "polls/detail.html"
|
||||
|
||||
def get_queryset(self):
|
||||
"""
|
||||
Excludes any questions that aren't published yet.
|
||||
"""
|
||||
return Question.objects.filter(pub_date__lte=timezone.now())
|
||||
|
||||
|
||||
class ResultsView(generic.DetailView):
|
||||
model = Question
|
||||
|
||||
Loading…
Reference in New Issue
Block a user