def test_create_without_data(mommy, serializer):
    mommy.make.return_value = Mock(pk=1)
    view = TestDataModelRestView()
    view.data = None
    view.model = Mock()
    view.post(None)
    mommy.make.assert_called_once_with(view.model)
    view.model.objects.get.assert_called_once_with(pk=1)
    serializer.serialize.assert_called_once_with([view.model.objects.get()])
def test_create(mommy, get_data, serializer):
    get_data.side_effect = lambda data: data
    mommy.make.return_value = Mock(pk=1)
    view = TestDataModelRestView()
    view.data = {'test_data': 'test'}
    view.model = Mock()
    view.post(None)
    mommy.make.assert_called_once_with(view.model, test_data='test')
    view.model.objects.get.assert_called_once_with(pk=1)
    serializer.serialize.assert_called_once_with([view.model.objects.get()])
# pylint: disable=no-value-for-parameter
from django.conf.urls import patterns, url

from rest_test_data.views import TestDataModelRestView, TestDataDetailRestView, TestDataSearchRestView

urlpatterns = patterns(
    "",
    url(r"^(?P<app>[^/]+)/(?P<model>[^/]+)/$", TestDataModelRestView.as_view(), name="objects"),
    url(r"^(?P<app>[^/]+)/(?P<model>[^/]+)/search/$", TestDataSearchRestView.as_view(), name="search"),
    url(r"^(?P<app>[^/]+)/(?P<model>[^/]+)/(?P<pk>\d+)/$", TestDataDetailRestView.as_view(), name="object"),
)
def test_delete_all_failure():
    view = TestDataModelRestView()
    view.model = Mock()
    view.model.objects.all().delete.side_effect = Exception
    assert_equal(view.delete(None), False)
    view.model.objects.all().delete.assert_called_once_with()
def test_delete_all():
    view = TestDataModelRestView()
    view.model = Mock()
    view.model.objects.all().count.return_value = 4
    assert_equal(view.delete(None), 4)
    view.model.objects.all().delete.assert_called_once_with()
def test_get_all(serializer):
    view = TestDataModelRestView()
    view.model = Mock()
    view.get(None)
    view.model.objects.all.assert_called_once_with()
    serializer.serialize.assert_called_once_with(view.model.objects.all())