Merge branch 'feature/update-establishment-slug-urls' into 'develop'
Feature/update establishment slug urls See merge request gm/gm-backend!29
This commit is contained in:
commit
0e4b714d2f
|
|
@ -138,6 +138,9 @@ class EstablishmentQuerySet(models.QuerySet):
|
||||||
public_mark__isnull=False)
|
public_mark__isnull=False)
|
||||||
if establishment_qs.exists():
|
if establishment_qs.exists():
|
||||||
establishment = establishment_qs.first()
|
establishment = establishment_qs.first()
|
||||||
|
|
||||||
|
# TODO fix error:
|
||||||
|
# AttributeError: 'NoneType' object has no attribute 'coordinates'
|
||||||
return self.exclude(slug=establishment_slug) \
|
return self.exclude(slug=establishment_slug) \
|
||||||
.filter(is_publish=True,
|
.filter(is_publish=True,
|
||||||
image_url__isnull=False,
|
image_url__isnull=False,
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class BaseTestCase(APITestCase):
|
||||||
self.establishment_type = EstablishmentType.objects.create(name="Test establishment type")
|
self.establishment_type = EstablishmentType.objects.create(name="Test establishment type")
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTests(BaseTestCase):
|
class EstablishmentBTests(BaseTestCase):
|
||||||
def test_establishment_CRUD(self):
|
def test_establishment_CRUD(self):
|
||||||
params = {'page': 1, 'page_size': 1,}
|
params = {'page': 1, 'page_size': 1,}
|
||||||
response = self.client.get('/api/back/establishments/', params, format='json')
|
response = self.client.get('/api/back/establishments/', params, format='json')
|
||||||
|
|
@ -93,7 +93,8 @@ class ChildTestCase(BaseTestCase):
|
||||||
self.establishment = Establishment.objects.create(
|
self.establishment = Establishment.objects.create(
|
||||||
name="Test establishment",
|
name="Test establishment",
|
||||||
establishment_type_id=self.establishment_type.id,
|
establishment_type_id=self.establishment_type.id,
|
||||||
is_publish=True
|
is_publish=True,
|
||||||
|
slug="test"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -263,3 +264,89 @@ class EstablishmentShedulerTests(ChildTestCase):
|
||||||
|
|
||||||
response = self.client.delete(f'/api/back/establishments/{self.establishment.id}/schedule/1/')
|
response = self.client.delete(f'/api/back/establishments/{self.establishment.id}/schedule/1/')
|
||||||
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
|
||||||
|
# Web tests
|
||||||
|
class EstablishmentWebTests(BaseTestCase):
|
||||||
|
|
||||||
|
def test_establishment_Read(self):
|
||||||
|
params = {'page': 1, 'page_size': 1,}
|
||||||
|
response = self.client.get('/api/web/establishments/', params, format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentWebTagTests(BaseTestCase):
|
||||||
|
|
||||||
|
def test_tag_Read(self):
|
||||||
|
response = self.client.get('/api/web/establishments/tags/', format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentWebSlugTests(ChildTestCase):
|
||||||
|
|
||||||
|
def test_slug_Read(self):
|
||||||
|
response = self.client.get(f'/api/web/establishments/slug/{self.establishment.slug}/', format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentWebSimilarTests(ChildTestCase):
|
||||||
|
|
||||||
|
def test_similar_Read(self):
|
||||||
|
response = self.client.get(f'/api/web/establishments/slug/{self.establishment.slug}/similar/', format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentWebCommentsTests(ChildTestCase):
|
||||||
|
|
||||||
|
def test_comments_CRUD(self):
|
||||||
|
|
||||||
|
response = self.client.get(f'/api/web/establishments/slug/{self.establishment.slug}/comments/', format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
|
data = {
|
||||||
|
'text': 'test',
|
||||||
|
'user': self.user.id,
|
||||||
|
'mark': 4
|
||||||
|
}
|
||||||
|
|
||||||
|
response = self.client.post(f'/api/web/establishments/slug/{self.establishment.slug}/comments/create/',
|
||||||
|
data=data)
|
||||||
|
|
||||||
|
comment = response.json()
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
response = self.client.get(f'/api/web/establishments/slug/{self.establishment.slug}/comments/{comment["id"]}/',
|
||||||
|
format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
|
update_data = {
|
||||||
|
'text': 'Test new establishment'
|
||||||
|
}
|
||||||
|
|
||||||
|
response = self.client.patch(f'/api/web/establishments/slug/{self.establishment.slug}/comments/{comment["id"]}/',
|
||||||
|
data=update_data)
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
|
response = self.client.delete(
|
||||||
|
f'/api/web/establishments/slug/{self.establishment.slug}/comments/{comment["id"]}/',
|
||||||
|
format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentWebFavoriteTests(ChildTestCase):
|
||||||
|
|
||||||
|
def test_favorite_CR(self):
|
||||||
|
data = {
|
||||||
|
"user": self.user.id,
|
||||||
|
"object_id": self.establishment.id
|
||||||
|
}
|
||||||
|
|
||||||
|
response = self.client.post(f'/api/web/establishments/slug/{self.establishment.slug}/favorites/',
|
||||||
|
data=data)
|
||||||
|
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
response = self.client.delete(
|
||||||
|
f'/api/web/establishments/slug/{self.establishment.slug}/favorites/',
|
||||||
|
format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,13 @@ app_name = 'establishment'
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', views.EstablishmentListView.as_view(), name='list'),
|
path('', views.EstablishmentListView.as_view(), name='list'),
|
||||||
path('tags/', views.EstablishmentTagListView.as_view(), name='tags'),
|
path('tags/', views.EstablishmentTagListView.as_view(), name='tags'),
|
||||||
path('<slug:slug>/', views.EstablishmentRetrieveView.as_view(), name='detail'),
|
path('slug/<slug:slug>/', views.EstablishmentRetrieveView.as_view(), name='detail'),
|
||||||
path('<slug:slug>/similar/', views.EstablishmentSimilarListView.as_view(), name='similar'),
|
path('slug/<slug:slug>/similar/', views.EstablishmentSimilarListView.as_view(), name='similar'),
|
||||||
path('<slug:slug>/comments/', views.EstablishmentCommentListView.as_view(), name='list-comments'),
|
path('slug/<slug:slug>/comments/', views.EstablishmentCommentListView.as_view(), name='list-comments'),
|
||||||
path('<slug:slug>/comments/create/', views.EstablishmentCommentCreateView.as_view(),
|
path('slug/<slug:slug>/comments/create/', views.EstablishmentCommentCreateView.as_view(),
|
||||||
name='create-comment'),
|
name='create-comment'),
|
||||||
path('<slug:slug>/comments/<int:comment_id>/', views.EstablishmentCommentRUDView.as_view(),
|
path('slug/<slug:slug>/comments/<int:comment_id>/', views.EstablishmentCommentRUDView.as_view(),
|
||||||
name='rud-comment'),
|
name='rud-comment'),
|
||||||
path('<slug:slug>/favorites/', views.EstablishmentFavoritesCreateDestroyView.as_view(),
|
path('slug/<slug:slug>/favorites/', views.EstablishmentFavoritesCreateDestroyView.as_view(),
|
||||||
name='add-to-favorites')
|
name='add-to-favorites')
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user