mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-07-16 02:52:25 +03:00
Merge branch 'extended-drf-tests'
This commit is contained in:
commit
3694f3dcaa
|
@ -19,8 +19,8 @@ matrix:
|
||||||
script: tox -e black-template
|
script: tox -e black-template
|
||||||
- name: Basic Docker
|
- name: Basic Docker
|
||||||
script: sh tests/test_docker.sh
|
script: sh tests/test_docker.sh
|
||||||
- name: Docker with Celery
|
- name: Extended Docker
|
||||||
script: sh tests/test_docker.sh use_celery=y
|
script: sh tests/test_docker.sh use_celery=y use_drf=y
|
||||||
- name: Bare metal
|
- name: Bare metal
|
||||||
script: sh tests/test_bare.sh use_celery=y use_compressor=y
|
script: sh tests/test_bare.sh use_celery=y use_compressor=y
|
||||||
services:
|
services:
|
||||||
|
|
|
@ -162,6 +162,7 @@ Listed in alphabetical order.
|
||||||
Krzysztof Żuraw `@krzysztofzuraw`_
|
Krzysztof Żuraw `@krzysztofzuraw`_
|
||||||
Leo won `@leollon`_
|
Leo won `@leollon`_
|
||||||
Leo Zhou `@glasslion`_
|
Leo Zhou `@glasslion`_
|
||||||
|
Leon Kim `@PilhwanKim`_
|
||||||
Leonardo Jimenez `@xpostudio4`_
|
Leonardo Jimenez `@xpostudio4`_
|
||||||
Lin Xianyi `@iynaix`_
|
Lin Xianyi `@iynaix`_
|
||||||
Luis Nell `@originell`_
|
Luis Nell `@originell`_
|
||||||
|
@ -367,6 +368,7 @@ Listed in alphabetical order.
|
||||||
.. _@rjsnh1522: https://github.com/rjsnh1522
|
.. _@rjsnh1522: https://github.com/rjsnh1522
|
||||||
.. _@pchiquet: https://github.com/pchiquet
|
.. _@pchiquet: https://github.com/pchiquet
|
||||||
.. _@phiberjenz: https://github.com/phiberjenz
|
.. _@phiberjenz: https://github.com/phiberjenz
|
||||||
|
.. _@PilhwanKim: https://github.com/PilhwanKim
|
||||||
.. _@purplediane: https://github.com/purplediane
|
.. _@purplediane: https://github.com/purplediane
|
||||||
.. _@raonyguimaraes: https://github.com/raonyguimaraes
|
.. _@raonyguimaraes: https://github.com/raonyguimaraes
|
||||||
.. _@reggieriser: https://github.com/reggieriser
|
.. _@reggieriser: https://github.com/reggieriser
|
||||||
|
|
|
@ -299,6 +299,16 @@ def remove_aws_dockerfile():
|
||||||
def remove_drf_starter_files():
|
def remove_drf_starter_files():
|
||||||
os.remove(os.path.join("config", "api_router.py"))
|
os.remove(os.path.join("config", "api_router.py"))
|
||||||
shutil.rmtree(os.path.join("{{cookiecutter.project_slug}}", "users", "api"))
|
shutil.rmtree(os.path.join("{{cookiecutter.project_slug}}", "users", "api"))
|
||||||
|
os.remove(
|
||||||
|
os.path.join(
|
||||||
|
"{{cookiecutter.project_slug}}", "users", "tests", "test_drf_urls.py"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
os.remove(
|
||||||
|
os.path.join(
|
||||||
|
"{{cookiecutter.project_slug}}", "users", "tests", "test_drf_views.py"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def remove_storages_module():
|
def remove_storages_module():
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
import pytest
|
||||||
|
from django.urls import resolve, reverse
|
||||||
|
|
||||||
|
from {{ cookiecutter.project_slug }}.users.models import User
|
||||||
|
|
||||||
|
pytestmark = pytest.mark.django_db
|
||||||
|
|
||||||
|
|
||||||
|
def test_user_detail(user: User):
|
||||||
|
assert (
|
||||||
|
reverse("api:user-detail", kwargs={"username": user.username})
|
||||||
|
== f"/api/users/{user.username}/"
|
||||||
|
)
|
||||||
|
assert resolve(f"/api/users/{user.username}/").view_name == "api:user-detail"
|
||||||
|
|
||||||
|
|
||||||
|
def test_user_list():
|
||||||
|
assert reverse("api:user-list") == "/api/users/"
|
||||||
|
assert resolve("/api/users/").view_name == "api:user-list"
|
||||||
|
|
||||||
|
|
||||||
|
def test_user_me():
|
||||||
|
assert reverse("api:user-me") == "/api/users/me/"
|
||||||
|
assert resolve("/api/users/me/").view_name == "api:user-me"
|
|
@ -0,0 +1,34 @@
|
||||||
|
import pytest
|
||||||
|
from django.test import RequestFactory
|
||||||
|
|
||||||
|
from {{ cookiecutter.project_slug }}.users.api.views import UserViewSet
|
||||||
|
from {{ cookiecutter.project_slug }}.users.models import User
|
||||||
|
|
||||||
|
pytestmark = pytest.mark.django_db
|
||||||
|
|
||||||
|
|
||||||
|
class TestUserViewSet:
|
||||||
|
def test_get_queryset(self, user: User, rf: RequestFactory):
|
||||||
|
view = UserViewSet()
|
||||||
|
request = rf.get("/fake-url/")
|
||||||
|
request.user = user
|
||||||
|
|
||||||
|
view.request = request
|
||||||
|
|
||||||
|
assert user in view.get_queryset()
|
||||||
|
|
||||||
|
def test_me(self, user: User, rf: RequestFactory):
|
||||||
|
view = UserViewSet()
|
||||||
|
request = rf.get("/fake-url/")
|
||||||
|
request.user = user
|
||||||
|
|
||||||
|
view.request = request
|
||||||
|
|
||||||
|
response = view.me(request)
|
||||||
|
|
||||||
|
assert response.data == {
|
||||||
|
"username": user.username,
|
||||||
|
"email": user.email,
|
||||||
|
"name": user.name,
|
||||||
|
"url": f"http://testserver/api/users/{user.username}/",
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user