Replace uses of client.get and client.post

We have a `client_request` fixture which does a bunch of useful stuff
like:
- checking the status code of the response
- returning a `BeautifulSoup` object

Lots of our tests still use an older fixture called `client`. This is
not as good because it:
- returns a raw `Response` object
- doesn’t do the additional checks
- means our tests contain a lot of repetetive boilerplate like `page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')`

This commit converts all the tests which had a `client.get(…)` or
`client.post(…)` statement to use their equivalents on `client_request`
instead.

Subsequent commits will remove uses of `client` in other tests, but
doing it this way means the work can be broken up into more manageable
chunks.
This commit is contained in:
Chris Hill-Scott
2022-01-04 15:40:42 +00:00
parent 07318b2d11
commit 7e707db4b2
24 changed files with 951 additions and 726 deletions

View File

@@ -2904,9 +2904,17 @@ def client_request(_logged_in_client, mocker, service_one): # noqa (C901 too co
_optional_args="",
**endpoint_kwargs
):
resp = _logged_in_client.get(
return ClientRequest.get_response_from_url(
url_for(endpoint, **(endpoint_kwargs or {})) + _optional_args,
_expected_status=_expected_status,
)
@staticmethod
def get_response_from_url(
url,
_expected_status=200,
):
resp = _logged_in_client.get(url)
assert resp.status_code == _expected_status
return resp