Skip to content

Commit 981d032

Browse files
committed
add tests for new fixtures
1 parent 0c2ffab commit 981d032

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

tests/test_fixtures.py

+46
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import pytest
1212

1313
from django.db import connection, transaction
14+
from django.contrib.sessions.backends.base import SessionBase
1415
from django.conf import settings as real_settings
1516
from django.core import mail
1617
from django.test.client import Client, RequestFactory
@@ -33,25 +34,70 @@ def test_admin_client(admin_client):
3334
assert force_text(resp.content) == 'You are an admin'
3435

3536

37+
@pytest.mark.django_db
38+
def test_user_client(user_client):
39+
assert isinstance(user_client, Client)
40+
resp = user_client.get('/admin-required/')
41+
assert force_text(resp.content) == 'Access denied'
42+
43+
3644
def test_admin_client_no_db_marker(admin_client):
3745
assert isinstance(admin_client, Client)
3846
resp = admin_client.get('/admin-required/')
3947
assert force_text(resp.content) == 'You are an admin'
4048

4149

50+
def test_user_client_no_db_marker(user_client):
51+
assert isinstance(user_client, Client)
52+
resp = user_client.get('/admin-required/')
53+
assert force_text(resp.content) == 'Access denied'
54+
55+
4256
@pytest.mark.django_db
4357
def test_admin_user(admin_user, django_user_model):
4458
assert isinstance(admin_user, django_user_model)
4559

4660

61+
@pytest.mark.django_db
62+
def test_django_user(django_user, django_user_model):
63+
assert isinstance(django_user, django_user_model)
64+
65+
4766
def test_admin_user_no_db_marker(admin_user, django_user_model):
4867
assert isinstance(admin_user, django_user_model)
4968

5069

70+
def test_django_user_no_db_marker(django_user, django_user_model):
71+
assert isinstance(django_user, django_user_model)
72+
73+
5174
def test_rf(rf):
5275
assert isinstance(rf, RequestFactory)
5376

5477

78+
def test_rf_user(rf_user, django_user_model):
79+
assert isinstance(rf_user, RequestFactory)
80+
request = rf_user.get('/admin-required/')
81+
assert isinstance(request.user, django_user_model)
82+
assert isinstance(request.session, SessionBase)
83+
84+
85+
def test_rf_admin(rf_admin, django_user_model):
86+
assert isinstance(rf_admin, RequestFactory)
87+
request = rf_admin.get('/admin-required/')
88+
assert isinstance(request.user, django_user_model)
89+
assert isinstance(request.session, SessionBase)
90+
91+
92+
def test_rf_unauth(rf_unauth, django_user_model):
93+
assert isinstance(rf_unauth, RequestFactory)
94+
request = rf_unauth.get('/admin-required/')
95+
assert hasattr(request, 'user')
96+
# AnonymousUser is a plain-object (duck-typed)
97+
assert not isinstance(request.user, django_user_model)
98+
assert isinstance(request.session, SessionBase)
99+
100+
55101
@pytest.mark.django_db
56102
def test_django_assert_num_queries_db(django_assert_num_queries):
57103
with django_assert_num_queries(3):

0 commit comments

Comments
 (0)