feat: added tests for web
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
from rest_framework import status
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
from config.tests.mixins import TestUserAuthenticationMixin
|
||||
from shop.models import Tax
|
||||
|
||||
|
||||
class TestTaxesAPI(APITestCase, TestUserAuthenticationMixin):
|
||||
model_name = "tax"
|
||||
|
||||
def setUp(self):
|
||||
self.create_user()
|
||||
|
||||
def create_taxes(self):
|
||||
Tax.objects.create(
|
||||
code="IVA",
|
||||
value=21,
|
||||
)
|
||||
|
||||
def test_fetch_taxes(self):
|
||||
self.create_taxes()
|
||||
self.login()
|
||||
response = self.client.get("/api/v1/shop/taxes/")
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
assert len(response.data.get("results")) == 1
|
||||
|
||||
def test_create_retrieve_tax(self):
|
||||
self.login()
|
||||
response = self.client.post("/api/v1/shop/taxes/", {"code": "IVA5", "value": 5})
|
||||
assert response.status_code == status.HTTP_201_CREATED
|
||||
pk = response.data.get("id")
|
||||
|
||||
response = self.client.get(f"/api/v1/shop/taxes/{pk}/")
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
def test_create_update_tax(self):
|
||||
self.login()
|
||||
response = self.client.post("/api/v1/shop/taxes/", {"code": "IVA5", "value": 5})
|
||||
assert response.status_code == status.HTTP_201_CREATED
|
||||
pk = response.data.get("id")
|
||||
|
||||
response = self.client.get(f"/api/v1/shop/taxes/{pk}/")
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
response = self.client.patch(
|
||||
f"/api/v1/shop/taxes/{pk}/", {"code": "IVA10", "value": 10}
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
response = self.client.get(f"/api/v1/shop/taxes/{pk}/")
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
assert response.data.get("code") == "IVA10"
|
||||
assert response.data.get("value") == 10
|
||||
Reference in New Issue
Block a user