def create_item(**kwargs): request = APIRequestFactory().post('/items', kwargs) view = ItemViewSet.as_view(actions={'post': 'create'}) response = view(request) assert status.is_success(response.status_code), response.data return response
def update_item(id, **kwargs): url = "/items/%d" % id # This doesn't seem to matter if id is absent? request = APIRequestFactory().put(url, kwargs) view = ItemViewSet.as_view(actions={"put": "update"}) response = view(request, pk=id) assert status.is_success(response.status_code), response.data return response
def get(id): """ Return a single item specified by its id """ view = ItemViewSet.as_view(actions={'get': 'retrieve'}) request = request_factory.get("") response = view(request, pk=id) if status.is_success(response.status_code): item = response.data item.update(_parse_date_fields(item)) return item else: response.data['status_code'] = response.status_code raise TransportException(response.data)
def get_view(actions): return ItemViewSet.as_view(actions=actions)