-
Notifications
You must be signed in to change notification settings - Fork 345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add fixtures for user request factories, clients #568
base: main
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## master #568 +/- ##
=========================================
+ Coverage 91.92% 92.3% +0.37%
=========================================
Files 33 33
Lines 1660 1741 +81
Branches 143 144 +1
=========================================
+ Hits 1526 1607 +81
Misses 95 95
Partials 39 39
Continue to review full report at Codecov.
|
b3c08be
to
981d032
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
Please use the django_
prefix for new fixtures (see #432).
Yes, yes, and yes, please.. :) |
Fixes pytest-dev#565 This is based on conversations in issues pytest-dev#553, pytest-dev#554, and pytest-dev#284 - Introduces a django_user fixture, which is a user with no additional priveleges. Similar to admin_user. - A user_client, based on django_user. Similar to admin_client. - 3 new RequestFactory based fixtures, for unauthenticated, authenticated, and admin users: - rf_unauth: relies on AnonymousUser, similar to django docs example. - rf_admin: relies on admin_user fixture - rf_user: relies on new django_user fixture In addition, these 3 fixtures differ from rf in that they: - Mimic AuthenticationMiddleware by add the user attribute to the request object - Mimic SessionMiddleware by adding the 'session' attribute to the request object. This is an in-memory session store object from ``django.contrib.sessions.backends.base.SessionBase``. This fills the gaps left over by not having normal and unauthenticated user objects, clients, and request factories (when admin ones were available), and also covers a common case likely present in Django projects - anonymous (not logged in), authenticated, and admin users. Also, Update fixtures.py with changes from @blueyed
Update helpers.rst with corrections from @blueyed
Fixes #565
This is based on conversations in issues #553, #554, and #284
Introduces a django_user fixture, which is a user with no additional
priveleges. Similar to admin_user.
A user_client, based on django_user. Similar to admin_client.
3 new RequestFactory based fixtures, for unauthenticated,
authenticated, and admin users:
example.
In addition, these 3 fixtures differ from rf in that they:
the request object
to the request object. This is an in-memory session store object
from
django.contrib.sessions.backends.base.SessionBase
.This fills the gaps left over by not having normal and unauthenticated
user objects, clients, and request factories (when admin ones were
available), and also covers a common case likely present in Django
projects - anonymous (not logged in), authenticated, and admin users.