def test_delete_data(self):
        obj = self.create_post(title='another new title')
        delete_url = reverse("posts-api:delete", kwargs={"slug": obj.slug})
        request = self.factory.delete(delete_url)
        response1 = PostDeleteAPIView.as_view()(request, slug=obj.slug)
        self.assertEqual(response1.status_code, 401)

        force_authenticate(request, user=self.user)
        response2 = PostDeleteAPIView.as_view()(request, slug=obj.slug)
        self.assertEqual(response2.status_code, 204)
Exemplo n.º 2
0
    def test_crud_data(self):
        obj = Post.objects.create(title='Test API Post',
                                  content='New Content',
                                  publish=timezone.now().date())

        create_url = reverse('posts-api:create')
        update_url = reverse('posts-api:update', kwargs={'slug': obj.slug})
        delete_url = reverse('posts-api:delete', kwargs={'slug': obj.slug})

        request_create = self.factory.post(create_url, data=self.data)
        force_authenticate(request_create, self.user)
        response_create = PostCreateAPIView.as_view()(request_create,
                                                      slug=obj.slug)

        self.assertEqual(response_create.status_code, 201)

        request_update = self.factory.put(update_url, data=self.data)
        force_authenticate(request_update, self.user)
        response_update = PostUpdateAPIView.as_view()(request_update,
                                                      slug=obj.slug)

        self.assertEqual(response_update.status_code, 200)

        request_delete = self.factory.delete(delete_url)
        force_authenticate(request_delete, self.user)
        response_delete = PostDeleteAPIView.as_view()(request_delete,
                                                      slug=obj.slug)
        self.assertEqual(response_delete.status_code, 204)
Exemplo n.º 3
0
from django.conf.urls import url

from posts.api.views import (
        PostCreateAPIView,
        PostDeleteAPIView,
        PostDetailAPIView,
        PostListAPIView,
        PostUpdateAPIView,
    )


urlpatterns = [
    url(r'^$', PostListAPIView.as_view(), name='list'),
    url(r'^create/$', PostCreateAPIView.as_view(), name='create'),
    url(r'^(?P<slug>[\w-]+)/$', PostDetailAPIView.as_view(), name='detail'),
    url(r'^(?P<slug>[\w-]+)/edit/$', PostUpdateAPIView.as_view(),
        name='update'),
    url(r'^(?P<slug>[\w-]+)/delete/$', PostDeleteAPIView.as_view(),
        name='delete')
]
Exemplo n.º 4
0
from django.conf.urls import url

from posts.api.views import PostListAPIView, PostDetailAPIView, PostUpdateAPIView, PostDeleteAPIView, PostCreateAPIView

urlpatterns = [
    url(r'^$', PostListAPIView.as_view(), name="list"),
    url(r'^create/$', PostCreateAPIView.as_view(), name="create"),
    url(r'^(?P<slug>[\w-]+)/$', PostDetailAPIView.as_view(), name="detail"),
    url(r'^(?P<slug>[\w-]+)/edit/$', PostUpdateAPIView.as_view(), name="update"),
    url(r'^(?P<slug>[\w-]+)/delete/$', PostDeleteAPIView.as_view(), name="delete"),

]
Exemplo n.º 5
0
from django.urls import path
from django.conf.urls import url

from posts.api.views import (
    PostListAPIView,
    PostDetailAPIView,
    PostUpdateAPIView,
    PostDeleteAPIView,
)

app_name = 'posts'

urlpatterns = [
    url(r'^$', PostListAPIView.as_view(), name='list'),
    url(r'^(?P<pk>\d+)/$', PostDetailAPIView.as_view(), name='detail'),
    url(r'^(?P<pk>\d+)/update$', PostUpdateAPIView.as_view(), name='update'),
    url(r'^(?P<pk>\d+)/delete$', PostDeleteAPIView.as_view(), name='delete'),
]
Exemplo n.º 6
0
from django.conf.urls import url
from django.contrib import admin

from posts.api.views import (
    PostCreateAPIView,
    PostDetailAPIView,
    PostListAPIView,
    PostUpdateAPIView,
    PostDeleteAPIView,
)

urlpatterns = [
    url(r'^$', PostListAPIView.as_view(), name='list'),
    #url(r'^create/$', post_create),
    url(r'^create/$', PostCreateAPIView.as_view(), name='list'),
    url(r'^(?P<slug>[\w-]+)/$', PostDetailAPIView.as_view(), name='detail'),
    url(r'^(?P<slug>[\w-]+)/edit/$',
        PostUpdateAPIView.as_view(),
        name='update'),
    url(r'^(?P<slug>[\w-]+)/delete/$',
        PostDeleteAPIView.as_view(),
        name='delete'),

    #url(r'^posts/$', "<appname>.views.<function_name>"),
]
Exemplo n.º 7
0
from __future__ import absolute_import
from django.conf.urls import url
from posts.api.views import (
    LikeAPIView,
    PostListAPIView,
    PostDetailAPIView,
    PostDeleteAPIView,
    PostUpdateAPIView,
    PostCreateAPIView
)
urlpatterns = [

    url(r'^create/$', PostCreateAPIView.as_view(), name='APIcreate'),
    url(r'^$', PostListAPIView.as_view(), name='APIList'),
    url(r'^(?P<slug>[\w\-]{10})/$', PostDetailAPIView.as_view(), name='APIDetail'),
    url(r'^(?P<slug>[\w\-]{10})/update/$', PostUpdateAPIView.as_view(), name='APIupdate'),
    url(r'^(?P<slug>[\w\-]{10})/delete/$', PostDeleteAPIView.as_view(), name='APIdelete'),
    url(r'^(?P<slug>[\w\-]{10})/$', PostDetailAPIView.as_view(), name='APIview'),
    url(r'^(?P<slug>[\w\-]{10})/like/$', LikeAPIView.as_view(), name='APIlike'),
    #url(r'^(?P<slug>[\w\-]{10})/unlike/$', unlike_post_view, name='unlike'),
]
Exemplo n.º 8
0
from django.urls import path
from posts.api.views import (PostCreateAPIView, PostListAPIView,
                             PostDetailAPIView, PostDeleteAPIView,
                             PostUpdateAPIView)

app_name = 'posts'

urlpatterns = [
    path('', PostListAPIView.as_view(), name='list'),
    path('create/', PostCreateAPIView.as_view(), name='create'),
    path('<slug:slug>/', PostDetailAPIView.as_view(), name='detail'),
    path('<slug:slug>/edit/', PostUpdateAPIView.as_view(), name='update'),
    path('<slug:slug>/delete/', PostDeleteAPIView.as_view(), name='delete')
]
Exemplo n.º 9
0
from django.conf.urls import url

from posts.api.views import (
    PostListAPIView,
    PostCreateAPIView,
    PostDetailAPIView,
    PostDeleteAPIView,
    PostUpdateAPIView,
)

urlpatterns = [
    url(r'^$', PostListAPIView.as_view(), name="list"),
    # restframework treats pk as the default search value
    url(r'^(?P<pk>\d+)/$', PostDetailAPIView.as_view(), name="detail"),
    url(r'^create/$', PostCreateAPIView.as_view(), name="create"),
    url(r'^(?P<pk>\d+)/edit/$', PostUpdateAPIView.as_view(), name="update"),
    url(r'^(?P<pk>\d+)/delete/$', PostDeleteAPIView.as_view(), name="delete"),
]