ya tojiki medone #7
@@ -2,12 +2,16 @@ from django.db import models
|
|||||||
from django_core.models.base import AbstractBaseModel
|
from django_core.models.base import AbstractBaseModel
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
|
from model_bakery import baker
|
||||||
|
|
||||||
class SearchHistory(AbstractBaseModel):
|
class SearchHistory(AbstractBaseModel):
|
||||||
value = models.CharField(verbose_name=_('Search History'), max_length=255)
|
value = models.CharField(verbose_name=_('Search History'), max_length=255)
|
||||||
user = models.ForeignKey(get_user_model(), verbose_name=_('User'), on_delete=models.CASCADE)
|
user = models.ForeignKey(get_user_model(), verbose_name=_('User'), on_delete=models.CASCADE)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _baker(cls):
|
||||||
|
return baker.make(cls)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.pk)
|
return str(self.pk)
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
from .category import * # noqa
|
from .category import * # noqa
|
||||||
from .ad import * # noqa
|
from .ad import * # noqa
|
||||||
|
from .search import * # noqa
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ def data(api_client):
|
|||||||
"list": reverse("category-list"),
|
"list": reverse("category-list"),
|
||||||
"retrieve": reverse("category-detail", kwargs={"pk": instance.pk}),
|
"retrieve": reverse("category-detail", kwargs={"pk": instance.pk}),
|
||||||
"retrieve-not-found": reverse("category-detail", kwargs={"pk": 1000}),
|
"retrieve-not-found": reverse("category-detail", kwargs={"pk": 1000}),
|
||||||
"list-home-ad": reverse("category-home-list"),
|
"list-category-home": reverse("category-home-list"),
|
||||||
"retrieve-home-ad": reverse("category-home-detail", kwargs={"pk": instance.pk}),
|
"retrieve-category-home": reverse("category-home-detail", kwargs={"pk": instance.pk}),
|
||||||
"retrieve-home-ad-not-found": reverse("category-home-detail", kwargs={"pk": 1000}),
|
"retrieve-category-home-not-found": reverse("category-home-detail", kwargs={"pk": 1000}),
|
||||||
},
|
},
|
||||||
client,
|
client,
|
||||||
instance,
|
instance,
|
||||||
@@ -64,7 +64,7 @@ def test_retrieve_not_found(data):
|
|||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_category_home_list(data):
|
def test_category_home_list(data):
|
||||||
urls, client, _ = data
|
urls, client, _ = data
|
||||||
response = client.get(urls["list-home-ad"])
|
response = client.get(urls["list-category-home"])
|
||||||
data_resp = response.json()
|
data_resp = response.json()
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
assert data_resp["status"] is True
|
assert data_resp["status"] is True
|
||||||
@@ -73,7 +73,7 @@ def test_category_home_list(data):
|
|||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_category_home_retrieve(data):
|
def test_category_home_retrieve(data):
|
||||||
urls, client, _ = data
|
urls, client, _ = data
|
||||||
response = client.get(urls["retrieve-home-ad"])
|
response = client.get(urls["retrieve-category-home"])
|
||||||
data_resp = response.json()
|
data_resp = response.json()
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
assert data_resp["status"] is True
|
assert data_resp["status"] is True
|
||||||
@@ -82,7 +82,7 @@ def test_category_home_retrieve(data):
|
|||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_category_home_retrieve_not_found(data):
|
def test_category_home_retrieve_not_found(data):
|
||||||
urls, client, _ = data
|
urls, client, _ = data
|
||||||
response = client.get(urls["retrieve-home-ad-not-found"])
|
response = client.get(urls["retrieve-category-home-not-found"])
|
||||||
data_resp = response.json()
|
data_resp = response.json()
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
assert data_resp["status"] is False
|
assert data_resp["status"] is False
|
||||||
|
|||||||
1
core/apps/api/tests/search/__init__.py
Normal file
1
core/apps/api/tests/search/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
from .test_search_history import * # noqa
|
||||||
56
core/apps/api/tests/search/test_search_history.py
Normal file
56
core/apps/api/tests/search/test_search_history.py
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
import pytest
|
||||||
|
from django.urls import reverse
|
||||||
|
from rest_framework.test import APIClient
|
||||||
|
|
||||||
|
from core.apps.accounts.models import SearchHistory
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def instance(db):
|
||||||
|
return SearchHistory._baker()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def api_client(instance):
|
||||||
|
client = APIClient()
|
||||||
|
client.force_authenticate(user=instance.user)
|
||||||
|
return client, instance
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def data(api_client):
|
||||||
|
client, instance = api_client
|
||||||
|
return (
|
||||||
|
{
|
||||||
|
"list": reverse("search-history-list"),
|
||||||
|
"retrieve": reverse("search-history-detail", kwargs={"pk": instance.pk}),
|
||||||
|
"retrieve-not-found": reverse("search-history-detail", kwargs={"pk": 1000}),
|
||||||
|
},
|
||||||
|
client,
|
||||||
|
instance,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_list(data):
|
||||||
|
urls, client, _ = data
|
||||||
|
response = client.get(urls["list"])
|
||||||
|
data_resp = response.json()
|
||||||
|
assert response.status_code == 200
|
||||||
|
assert data_resp["status"] is True
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_create(data):
|
||||||
|
urls, client, _ = data
|
||||||
|
response = client.post(urls["list"], data={"value": "test-text"})
|
||||||
|
data_resp = response.json()
|
||||||
|
assert response.status_code == 201
|
||||||
|
assert data_resp["status"] is True
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_destroy(data):
|
||||||
|
urls, client, _ = data
|
||||||
|
response = client.delete(urls["retrieve"])
|
||||||
|
assert response.status_code == 204
|
||||||
Reference in New Issue
Block a user