From a2ade761b463454ec2c7bfc3ace7a2f93c6f35bf Mon Sep 17 00:00:00 2001 From: littlewolf Date: Wed, 25 Sep 2019 14:04:52 +0300 Subject: [PATCH 1/5] Update web urls --- apps/establishment/urls/common.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/establishment/urls/common.py b/apps/establishment/urls/common.py index bd53c7eb..99027d12 100644 --- a/apps/establishment/urls/common.py +++ b/apps/establishment/urls/common.py @@ -8,13 +8,13 @@ app_name = 'establishment' urlpatterns = [ path('', views.EstablishmentListView.as_view(), name='list'), path('tags/', views.EstablishmentTagListView.as_view(), name='tags'), - path('/', views.EstablishmentRetrieveView.as_view(), name='detail'), - path('/similar/', views.EstablishmentSimilarListView.as_view(), name='similar'), - path('/comments/', views.EstablishmentCommentListView.as_view(), name='list-comments'), - path('/comments/create/', views.EstablishmentCommentCreateView.as_view(), + path('slug//', views.EstablishmentRetrieveView.as_view(), name='detail'), + path('slug//similar/', views.EstablishmentSimilarListView.as_view(), name='similar'), + path('slug//comments/', views.EstablishmentCommentListView.as_view(), name='list-comments'), + path('slug//comments/create/', views.EstablishmentCommentCreateView.as_view(), name='create-comment'), - path('/comments//', views.EstablishmentCommentRUDView.as_view(), + path('slug//comments//', views.EstablishmentCommentRUDView.as_view(), name='rud-comment'), - path('/favorites/', views.EstablishmentFavoritesCreateDestroyView.as_view(), + path('slug//favorites/', views.EstablishmentFavoritesCreateDestroyView.as_view(), name='add-to-favorites') ] From 07a0f8e295e37d954f069f5a1ab1fce5565ee42f Mon Sep 17 00:00:00 2001 From: littlewolf Date: Wed, 25 Sep 2019 17:34:11 +0300 Subject: [PATCH 2/5] Temp commit --- apps/establishment/tests.py | 54 +++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/apps/establishment/tests.py b/apps/establishment/tests.py index e4e3b02c..3b5a44dc 100644 --- a/apps/establishment/tests.py +++ b/apps/establishment/tests.py @@ -27,7 +27,7 @@ class BaseTestCase(APITestCase): self.establishment_type = EstablishmentType.objects.create(name="Test establishment type") -class EstablishmentTests(BaseTestCase): +class EstablishmentBTests(BaseTestCase): def test_establishment_CRUD(self): params = {'page': 1, 'page_size': 1,} response = self.client.get('/api/back/establishments/', params, format='json') @@ -93,7 +93,8 @@ class ChildTestCase(BaseTestCase): self.establishment = Establishment.objects.create( name="Test establishment", establishment_type_id=self.establishment_type.id, - is_publish=True + is_publish=True, + slug="test" ) @@ -263,3 +264,52 @@ class EstablishmentShedulerTests(ChildTestCase): response = self.client.delete(f'/api/back/establishments/{self.establishment.id}/schedule/1/') 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_Read(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) + + + + + + + +# class EstablishmentWebFavoriteTests(ChildTestCase): +# +# def test_comments_Read(self): +# response = self.client.get(f'/api/web/establishments/slug/{self.establishment.slug}/favorites/', format='json') +# self.assertEqual(response.status_code, status.HTTP_200_OK) From cabee12fab98e3ebb22d2c0e452908a7d554f1fa Mon Sep 17 00:00:00 2001 From: littlewolf Date: Wed, 25 Sep 2019 18:58:52 +0300 Subject: [PATCH 3/5] Add comment tests Add favorite tests --- apps/establishment/tests.py | 51 ++++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/apps/establishment/tests.py b/apps/establishment/tests.py index 3b5a44dc..a001b055 100644 --- a/apps/establishment/tests.py +++ b/apps/establishment/tests.py @@ -298,18 +298,55 @@ class EstablishmentWebSimilarTests(ChildTestCase): class EstablishmentWebCommentsTests(ChildTestCase): - def test_comments_Read(self): + 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_cd(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) + print(f"================================RESPONSE: {response.json()}") + self.assertEqual(response.status_code, status.HTTP_201_CREATED) - -# class EstablishmentWebFavoriteTests(ChildTestCase): -# -# def test_comments_Read(self): -# response = self.client.get(f'/api/web/establishments/slug/{self.establishment.slug}/favorites/', format='json') -# self.assertEqual(response.status_code, status.HTTP_200_OK) + 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) From 877d3d9e6a4233cdfa8e10b146ec0b41a74c9439 Mon Sep 17 00:00:00 2001 From: littlewolf Date: Wed, 25 Sep 2019 19:44:33 +0300 Subject: [PATCH 4/5] Fix test Add todo to fix error --- apps/establishment/models.py | 3 +++ apps/establishment/tests.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/establishment/models.py b/apps/establishment/models.py index e3384dfb..dc596600 100644 --- a/apps/establishment/models.py +++ b/apps/establishment/models.py @@ -174,6 +174,9 @@ class EstablishmentQuerySet(models.QuerySet): establishment_qs = Establishment.objects.filter(slug=establishment_slug) if establishment_qs.exists(): establishment = establishment_qs.first() + + # TODO fix error: + # AttributeError: 'NoneType' object has no attribute 'coordinates' return self.exclude(slug=establishment_slug) \ .filter(is_publish=True, image_url__isnull=False, diff --git a/apps/establishment/tests.py b/apps/establishment/tests.py index a001b055..f80cb448 100644 --- a/apps/establishment/tests.py +++ b/apps/establishment/tests.py @@ -343,7 +343,7 @@ class EstablishmentWebFavoriteTests(ChildTestCase): response = self.client.post(f'/api/web/establishments/slug/{self.establishment.slug}/favorites/', data=data) - print(f"================================RESPONSE: {response.json()}") + self.assertEqual(response.status_code, status.HTTP_201_CREATED) response = self.client.delete( From 3279fce33917d50b4f27f5ce365f187d66fef6a3 Mon Sep 17 00:00:00 2001 From: littlewolf Date: Thu, 26 Sep 2019 11:19:06 +0300 Subject: [PATCH 5/5] Update tests --- apps/establishment/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/establishment/tests.py b/apps/establishment/tests.py index f80cb448..90a8f80c 100644 --- a/apps/establishment/tests.py +++ b/apps/establishment/tests.py @@ -335,7 +335,7 @@ class EstablishmentWebCommentsTests(ChildTestCase): class EstablishmentWebFavoriteTests(ChildTestCase): - def test_favorite_cd(self): + def test_favorite_CR(self): data = { "user": self.user.id, "object_id": self.establishment.id