mirror of
https://github.com/ae-utbm/sith.git
synced 2025-11-10 05:53:06 +00:00
remove deprecated api csrf argument
This commit is contained in:
@@ -117,7 +117,7 @@ class ProductTypeController(ControllerBase):
|
||||
def fetch_all(self):
|
||||
return ProductType.objects.order_by("order")
|
||||
|
||||
@route.patch("/{type_id}/move")
|
||||
@route.patch("/{type_id}/move", url_name="reorder_product_type")
|
||||
def reorder(self, type_id: int, other_id: Query[ReorderProductTypeSchema]):
|
||||
"""Change the order of a product type.
|
||||
|
||||
|
||||
@@ -3,11 +3,9 @@ from django.conf import settings
|
||||
from django.test import Client
|
||||
from django.urls import reverse
|
||||
from model_bakery import baker, seq
|
||||
from ninja_extra.testing import TestClient
|
||||
|
||||
from core.baker_recipes import board_user, subscriber_user
|
||||
from core.models import Group, User
|
||||
from counter.api import ProductTypeController
|
||||
from counter.models import ProductType
|
||||
|
||||
|
||||
@@ -19,24 +17,43 @@ def product_types(db) -> list[ProductType]:
|
||||
return baker.make(ProductType, _quantity=5, order=seq(0))
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def counter_admin_client(db, client: Client) -> Client:
|
||||
client.force_login(
|
||||
baker.make(
|
||||
User, groups=[Group.objects.get(id=settings.SITH_GROUP_COUNTER_ADMIN_ID)]
|
||||
)
|
||||
)
|
||||
return client
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_fetch_product_types(product_types: list[ProductType]):
|
||||
def test_fetch_product_types(
|
||||
counter_admin_client: Client, product_types: list[ProductType]
|
||||
):
|
||||
"""Test that the API returns the right products in the right order"""
|
||||
client = TestClient(ProductTypeController)
|
||||
response = client.get("")
|
||||
response = counter_admin_client.get(reverse("api:fetch_product_types"))
|
||||
assert response.status_code == 200
|
||||
assert [i["id"] for i in response.json()] == [t.id for t in product_types]
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_move_below_product_type(product_types: list[ProductType]):
|
||||
def test_move_below_product_type(
|
||||
counter_admin_client: Client, product_types: list[ProductType]
|
||||
):
|
||||
"""Test that moving a product below another works"""
|
||||
client = TestClient(ProductTypeController)
|
||||
response = client.patch(
|
||||
f"/{product_types[-1].id}/move", query={"below": product_types[0].id}
|
||||
response = counter_admin_client.patch(
|
||||
reverse(
|
||||
"api:reorder_product_type",
|
||||
kwargs={"type_id": product_types[-1].id},
|
||||
query={"below": product_types[0].id},
|
||||
),
|
||||
)
|
||||
assert response.status_code == 200
|
||||
new_order = [i["id"] for i in client.get("").json()]
|
||||
new_order = [
|
||||
i["id"]
|
||||
for i in counter_admin_client.get(reverse("api:fetch_product_types")).json()
|
||||
]
|
||||
assert new_order == [
|
||||
product_types[0].id,
|
||||
product_types[-1].id,
|
||||
@@ -45,14 +62,22 @@ def test_move_below_product_type(product_types: list[ProductType]):
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_move_above_product_type(product_types: list[ProductType]):
|
||||
def test_move_above_product_type(
|
||||
counter_admin_client: Client, product_types: list[ProductType]
|
||||
):
|
||||
"""Test that moving a product above another works"""
|
||||
client = TestClient(ProductTypeController)
|
||||
response = client.patch(
|
||||
f"/{product_types[1].id}/move", query={"above": product_types[0].id}
|
||||
response = counter_admin_client.patch(
|
||||
reverse(
|
||||
"api:reorder_product_type",
|
||||
kwargs={"type_id": product_types[1].id},
|
||||
query={"above": product_types[0].id},
|
||||
),
|
||||
)
|
||||
assert response.status_code == 200
|
||||
new_order = [i["id"] for i in client.get("").json()]
|
||||
new_order = [
|
||||
i["id"]
|
||||
for i in counter_admin_client.get(reverse("api:fetch_product_types")).json()
|
||||
]
|
||||
assert new_order == [
|
||||
product_types[1].id,
|
||||
product_types[0].id,
|
||||
|
||||
Reference in New Issue
Block a user