From aa0c8ff9a0a0418dd3956a0be3de46e4dec956df Mon Sep 17 00:00:00 2001 From: Baptiste Mispelon Date: Sat, 20 Nov 2021 14:17:34 +0100 Subject: [PATCH] [4.0.x] Fixed #33301 -- Clarified the type of arguments required by custom assertions. Backport of 528691d1b66b4ecf7bbb55f783fc919d40d4a235 from main --- docs/topics/testing/tools.txt | 36 +++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt index b06fabcc66e..35a78a38970 100644 --- a/docs/topics/testing/tools.txt +++ b/docs/topics/testing/tools.txt @@ -1483,8 +1483,11 @@ your test suite. Asserts that a field on a form raises the provided list of errors when rendered on the form. + ``response`` must be a response instance returned by the + :class:`test client `. + ``form`` is the name the ``Form`` instance was given in the template - context. + context of the response. ``field`` is the name of the field on the form to check. If ``field`` has a value of ``None``, non-field errors (errors you can access via @@ -1499,8 +1502,11 @@ your test suite. Asserts that the ``formset`` raises the provided list of errors when rendered. + ``response`` must be a response instance returned by the + :class:`test client `. + ``formset`` is the name the ``Formset`` instance was given in the template - context. + context of the response. ``form_index`` is the number of the form within the ``Formset``. If ``form_index`` has a value of ``None``, non-form errors (errors you can @@ -1516,9 +1522,10 @@ your test suite. .. method:: SimpleTestCase.assertContains(response, text, count=None, status_code=200, msg_prefix='', html=False) - Asserts that a ``Response`` instance produced the given ``status_code`` and - that ``text`` appears in the content of the response. If ``count`` is - provided, ``text`` must occur exactly ``count`` times in the response. + Asserts that a :class:`response ` produced the + given :attr:`~django.http.HttpResponse.status_code` and that ``text`` + appears in its :attr:`~django.http.HttpResponse.content`. If ``count`` + is provided, ``text`` must occur exactly ``count`` times in the response. Set ``html`` to ``True`` to handle ``text`` as HTML. The comparison with the response content will be based on HTML semantics instead of @@ -1528,8 +1535,9 @@ your test suite. .. method:: SimpleTestCase.assertNotContains(response, text, status_code=200, msg_prefix='', html=False) - Asserts that a ``Response`` instance produced the given ``status_code`` and - that ``text`` does *not* appear in the content of the response. + Asserts that a :class:`response ` produced the + given :attr:`~django.http.HttpResponse.status_code` and that ``text`` does + *not* appear in its :attr:`~django.http.HttpResponse.content`. Set ``html`` to ``True`` to handle ``text`` as HTML. The comparison with the response content will be based on HTML semantics instead of @@ -1542,9 +1550,12 @@ your test suite. Asserts that the template with the given name was used in rendering the response. - The name is a string such as ``'admin/index.html'``. + ``response`` must be a response instance returned by the + :class:`test client `. - The count argument is an integer indicating the number of times the + ``template_name`` should be a string such as ``'admin/index.html'``. + + The ``count`` argument is an integer indicating the number of times the template should be rendered. Default is ``None``, meaning that the template should be rendered one or more times. @@ -1572,9 +1583,10 @@ your test suite. .. method:: SimpleTestCase.assertRedirects(response, expected_url, status_code=302, target_status_code=200, msg_prefix='', fetch_redirect_response=True) - Asserts that the response returned a ``status_code`` redirect status, - redirected to ``expected_url`` (including any ``GET`` data), and that the - final page was received with ``target_status_code``. + Asserts that the :class:`response ` returned a + :attr:`~django.http.HttpResponse.status_code` redirect status, redirected + to ``expected_url`` (including any ``GET`` data), and that the final page + was received with ``target_status_code``. If your request used the ``follow`` argument, the ``expected_url`` and ``target_status_code`` will be the url and status code for the final