Skip to content

Instantly share code, notes, and snippets.

@dchuvardynskyi
dchuvardynskyi / shell
Created November 19, 2019 22:31
Pytest Django basis run command
pytest
@dchuvardynskyi
dchuvardynskyi / shell
Created November 19, 2019 22:31
Pytest Django run commands
pytest a_directory # directory
pytest test_something.py # tests file
pytest test_something.py::single_test # single test function
@dchuvardynskyi
dchuvardynskyi / test_helpers.py
Created November 19, 2019 22:33
Pytest Django django_db helper test
import pytest
from django.contrib.auth.models import User
@pytest.mark.django_db
def test_user_create():
User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
assert User.objects.count() == 1
@dchuvardynskyi
dchuvardynskyi / test_views.py
Created November 19, 2019 22:34
Pytest Django client test
import pytest
from django.urls import reverse
@pytest.mark.django_db
def test_view(client):
url = reverse('homepage-url')
response = client.get(url)
assert response.status_code == 200
@dchuvardynskyi
dchuvardynskyi / test_superuser_views.py
Created November 19, 2019 23:01
Pytest Django admin client tests
import pytest
from django.urls import reverse
@pytest.mark.django_db
def test_unauthorized(client):
url = reverse('superuser-url')
response = client.get(url)
assert response.status_code == 401
@dchuvardynskyi
dchuvardynskyi / test_user_detail.py
Created November 19, 2019 23:06
Pytest Django client test with django_user_modle fixture
import pytest
from django.urls import reverse
@pytest.mark.django_db
def test_user_detail(client, django_user_model):
user = django_user_model.objects.create(
username='someone', password='password'
)
@dchuvardynskyi
dchuvardynskyi / test_superuser_detail.py
Created November 19, 2019 23:18
Pytest Django client test with admin_user fixture
import pytest
from django.urls import reverse
@pytest.mark.django_db
def test_superuser_detail(client, admin_user):
url = reverse(
'superuser-detail-view', kwargs={'pk': admin_user.pk}
)
@dchuvardynskyi
dchuvardynskyi / conftest.py
Created November 19, 2019 23:20
Pytest Django own fixture for create user
import uuid
import pytest
@pytest.fixture
def test_password():
return 'strong-test-pass'
@dchuvardynskyi
dchuvardynskyi / test_detail_views.py
Created November 19, 2019 23:22
Pytest Django client for user and superuser with own fixture
import pytest
from django.urls import reverse
@pytest.mark.django_db
def test_user_detail(client, create_user):
user = create_user(username='someone')
url = reverse('user-detail-view', kwargs={'pk': user.pk})
response = client.get(url)
@dchuvardynskyi
dchuvardynskyi / test_send_report.py
Last active July 27, 2020 12:20
Pytest Django mail out box test
import pytest
from django.urls import reverse
@pytest.mark.django_db
def test_send_report(auto_login_user, mailoutbox):
client, user = auto_login_user()
url = reverse('send-report-url')
response = client.post(url)