Beispiel #1
0
    def test_view_with_different_model(self):
        # make sure that passing in a model class in the as_view() call yields
        # a unique response when the view is called.
        request = WSGIRequest({
            'REQUEST_METHOD': 'GET',
            'wsgi.input': '',
            'QUERY_STRING': '_format=json',
        })

        view1 = ResourceView.as_view(model_class=flexmock(objects=flexmock(get=lambda *args, **kwargs: 'view1')))
        view2 = ResourceView.as_view(model_class=flexmock(objects=flexmock(get=lambda *args, **kwargs: 'view2')))

        response1 = view1(request, resource='foo', id='1', action='')
        response2 = view2(request, resource='foo', id='1', action='')

        self.assertNotEqual(response1, response2)
Beispiel #2
0
    def test_create(self):
        request = WSGIRequest({"REQUEST_METHOD": "POST", "wsgi.input": ""})

        flexmock(ResourceView).should_receive("create").once()

        view = ResourceView.as_view()
        view(request, resource="foo", id="", action="")
Beispiel #3
0
    def test_edit(self):
        request = WSGIRequest({"REQUEST_METHOD": "GET", "wsgi.input": ""})

        flexmock(ResourceView).should_receive("edit").once()

        view = ResourceView.as_view()
        view(request, resource="foo", id="10", action="edit")
Beispiel #4
0
    def test_destroy(self):
        request = WSGIRequest({"REQUEST_METHOD": "DELETE", "wsgi.input": ""})

        flexmock(ResourceView).should_receive("destroy").once()

        view = ResourceView.as_view()
        view(request, resource="foo", id="10", action="")
Beispiel #5
0
    def test_view_with_different_model(self):
        # make sure that passing in a model class in the as_view() call yields
        # a unique response when the view is called.
        request = WSGIRequest({"REQUEST_METHOD": "GET", "wsgi.input": "", "QUERY_STRING": "_format=json"})

        query_set_mock = flexmock(get=lambda *args, **kwargs: "view1")

        resource_view_mock = flexmock(ResourceView)
        (resource_view_mock.should_receive("get_query_set").and_return(query_set_mock).twice())

        model_mock = flexmock()
        view1 = ResourceView.as_view(model_class=model_mock)
        view2 = ResourceView.as_view(model_class=model_mock)

        response1 = view1(request, resource="foo", id="1", action="")
        response2 = view2(request, resource="foo", id="1", action="")

        self.assertNotEqual(response1, response2)
Beispiel #6
0
    def test_show(self):
        request = WSGIRequest({
            'REQUEST_METHOD': 'GET',
            'wsgi.input': '',
        })

        flexmock(ResourceView).should_receive("show").once()

        view = ResourceView.as_view()
        view(request, resource='foo', id='10', action='')
Beispiel #7
0
    def test_new(self):
        request = WSGIRequest({"REQUEST_METHOD": "GET", "wsgi.input": ""})

        model = flexmock(
            _meta=flexmock(app_label="foo", module_name="bar"), objects=flexmock(get=lambda *args, **kwargs: flexmock())
        )

        flexmock(ResourceView).should_receive("new").once()

        view = ResourceView.as_view(model_class=model)
        view(request, resource="foo", id="", action="new")
Beispiel #8
0
    def test_index_json_with_format(self):
        request = WSGIRequest({
            'REQUEST_METHOD': 'GET',
            'wsgi.input': '',
            'QUERY_STRING': '_format=json',
        })

        model = flexmock(objects=flexmock(all=lambda: []))

        flexmock(ResourceView).should_receive("render_json").once()

        view = ResourceView.as_view(model_class=model)
        view(request, resource='foo', id='', action='')
Beispiel #9
0
    def test_index_json_with_xmlhttprequest(self):
        request = WSGIRequest({
            'REQUEST_METHOD': 'GET',
            'wsgi.input': '',
            'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
        })

        model = flexmock(objects=flexmock(all=lambda: []))

        flexmock(ResourceView).should_receive("render_json").once()

        view = ResourceView.as_view(model_class=model)
        view(request, resource='foo', id='', action='')
Beispiel #10
0
    def test_index_json_with_format(self):
        request = WSGIRequest({"REQUEST_METHOD": "GET", "wsgi.input": "", "QUERY_STRING": "_format=json"})

        request.user = flexmock()

        query_set_mock = flexmock(all=lambda: [], filter=flexmock())

        (flexmock(ResourceView).should_receive("get_query_set").and_return(query_set_mock).once())

        flexmock(ResourceView).should_receive("render_json").once()

        view = ResourceView.as_view(model_class=flexmock())
        view(request, resource="foo", id="", action="")
Beispiel #11
0
    def test_index_json_with_xmlhttprequest(self):
        request = WSGIRequest({"REQUEST_METHOD": "GET", "wsgi.input": "", "HTTP_X_REQUESTED_WITH": "XMLHttpRequest"})
        request.user = flexmock()

        query_set_mock = flexmock(all=lambda: [], filter=flexmock())

        resource_view_mock = flexmock(ResourceView)
        (resource_view_mock.should_receive("render_json").once())

        (resource_view_mock.should_receive("get_query_set").and_return(query_set_mock).once())

        view = ResourceView.as_view(model_class=flexmock())
        view(request, resource="foo", id="", action="")
Beispiel #12
0
    def test_new(self):
        request = WSGIRequest({
            'REQUEST_METHOD': 'GET',
            'wsgi.input': '',
        })

        model = flexmock(
            _meta=flexmock(app_label='foo', module_name='bar'),
            objects=flexmock(get=lambda *args, **kwargs: flexmock())
        )

        flexmock(ResourceView).should_receive("new").once()

        view = ResourceView.as_view(model_class=model)
        view(request, resource='foo', id='', action='new')