def test_future_question(self): """ Questions with a pub_date in the future aren't displayed on the index page. """ create_question("Future question.", 30) response = self.client.get(reverse("polls:index")) self.assertContains(response, "No polls available.") self.assertQuerysetEqual(response.context['latest_question_list'], [])
def test_past_question(self): """ Questions with a pub_date in the past are displayed on the index page. """ create_question("Past question.", -30) response = self.client.get(reverse("polls:index")) self.assertQuerysetEqual(response.context['latest_question_list'], ['<Question: Past question.>'])
def test_two_past_questions(self): """ The questions index page may display multiple questions. """ create_question(question_text="Past question 1.", days=-30) create_question(question_text="Past question 2.", days=-3) response = self.client.get(reverse("polls:index")) self.assertQuerysetEqual( response.context['latest_question_list'], ['<Question: Past question 2.>', '<Question: Past question 1.>'])
def test_future_question_and_past_question(self): """ Even if both past and future questions exist, only past questions are displayed. """ create_question(question_text="Past question.", days=-30) create_question(question_text="Future question.", days=30) response = self.client.get(reverse("polls:index")) self.assertQuerysetEqual(response.context['latest_question_list'], ['<Question: Past question.>'])
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("Future question.", 30) url = reverse("polls:detail", args=(future_question.id, )) 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("Past question", -3) url = reverse("polls:detail", args=(past_question.id, )) response = self.client.get(url) self.assertContains(response, past_question.question_text)