コード例 #1
0
class FormSetViewTests(TestCase):
    def setUp(self):
        self.view = FormSetView()
        self.view.request = mock.Mock()

    def test_subclass_CreateView(self):
        self.assertTrue(issubclass(FormSetView, CreateView))

    def test_set_template_name_suffix_to_formset(self):
        self.assertEqual("_formset", self.view.template_name_suffix)

    @mock.patch("forms_ext.views.generic.FormSetView.render_to_response", mock.Mock())
    @mock.patch("forms_ext.views.generic.FormSetView.get_form")
    @mock.patch("forms_ext.views.generic.FormSetView.get_form_class")
    def test_send_formset_class_to_get_form(self, get_form_class, get_form):
        self.view.get(mock.Mock())

        get_form_class.assert_called_once_with()
        get_form.assert_called_once_with(get_form_class.return_value)

    @mock.patch("forms_ext.views.generic.FormSetView.render_to_response", mock.Mock())
    @mock.patch("forms_ext.views.generic.FormSetView.get_form_class", mock.Mock())
    @mock.patch("forms_ext.views.generic.FormSetView.get_form")
    @mock.patch("forms_ext.views.generic.FormSetView.get_context_data")
    def test_send_form_to_context_data_as_formset(self, get_context_data, get_form):
        self.view.get(mock.Mock())
        get_context_data.assert_called_once_with(formset=get_form.return_value)

    @mock.patch("forms_ext.views.generic.FormSetView.get_form_class", mock.Mock())
    @mock.patch("forms_ext.views.generic.FormSetView.get_form", mock.Mock())
    @mock.patch("forms_ext.views.generic.FormSetView.render_to_response")
    @mock.patch("forms_ext.views.generic.FormSetView.get_context_data")
    def test_send_context_data_to_render_to_response(self, get_context_data, render_to_response):
        self.view.get(mock.Mock())
        render_to_response.assert_called_once_with(get_context_data.return_value)

    @mock.patch("forms_ext.views.generic.FormSetView.get_queryset")
    @mock.patch("django.views.generic.edit.FormMixin.get_form_kwargs")
    def test_send_queryset_with_form_kwargs(self, get_form_kwargs, get_queryset):
        get_form_kwargs.return_value = {"initial": mock.sentinel.initial}

        kwargs = self.view.get_form_kwargs()

        self.assertEqual({"queryset": get_queryset.return_value, "initial": mock.sentinel.initial}, kwargs)

    @mock.patch("forms_ext.views.generic.FormSetView.render_to_response")
    @mock.patch("forms_ext.views.generic.FormSetView.get_context_data")
    def test_render_response_with_formset_when_form_invalid(self, get_context_data, render_to_response):
        formset = mock.Mock()
        response = self.view.form_invalid(formset)
        get_context_data.assert_called_once_with(formset=formset)
        render_to_response.assert_called_once_with(get_context_data.return_value)
        self.assertEqual(render_to_response.return_value, response)
コード例 #2
0
 def setUp(self):
     self.view = FormSetView()
     self.view.request = mock.Mock()
コード例 #3
0
class FormSetViewTests(test.TestCase):

    def setUp(self):
        self.view = FormSetView()
        self.view.request = mock.Mock()

    def test_subclass_CreateView(self):
        self.assertTrue(issubclass(FormSetView, CreateView))

    def test_set_template_name_suffix_to_formset(self):
        self.assertEqual("_formset", self.view.template_name_suffix)

    @mock.patch('forms_ext.views.generic.FormSetView.render_to_response', mock.Mock())
    @mock.patch('forms_ext.views.generic.FormSetView.get_form')
    @mock.patch('forms_ext.views.generic.FormSetView.get_form_class')
    def test_send_formset_class_to_get_form(self, get_form_class, get_form):
        self.view.get(mock.Mock())

        get_form_class.assert_called_once_with()
        get_form.assert_called_once_with(get_form_class.return_value)

    @mock.patch('forms_ext.views.generic.FormSetView.render_to_response', mock.Mock())
    @mock.patch('forms_ext.views.generic.FormSetView.get_form_class', mock.Mock())
    @mock.patch('forms_ext.views.generic.FormSetView.get_form')
    @mock.patch('forms_ext.views.generic.FormSetView.get_context_data')
    def test_send_form_to_context_data_as_formset(self, get_context_data, get_form):
        self.view.get(mock.Mock())
        get_context_data.assert_called_once_with(formset=get_form.return_value)

    @mock.patch('forms_ext.views.generic.FormSetView.get_form_class', mock.Mock())
    @mock.patch('forms_ext.views.generic.FormSetView.get_form', mock.Mock())
    @mock.patch('forms_ext.views.generic.FormSetView.render_to_response')
    @mock.patch('forms_ext.views.generic.FormSetView.get_context_data')
    def test_send_context_data_to_render_to_response(self, get_context_data, render_to_response):
        self.view.get(mock.Mock())
        render_to_response.assert_called_once_with(get_context_data.return_value)

    @mock.patch('forms_ext.views.generic.FormSetView.get_queryset')
    @mock.patch('django.views.generic.edit.FormMixin.get_form_kwargs')
    def test_send_queryset_with_form_kwargs(self, get_form_kwargs, get_queryset):
        get_form_kwargs.return_value = {'initial': mock.sentinel.initial}

        kwargs = self.view.get_form_kwargs()

        self.assertEqual({
            'queryset': get_queryset.return_value,
            'initial': mock.sentinel.initial,
        }, kwargs)

    @mock.patch('forms_ext.views.generic.FormSetView.render_to_response')
    @mock.patch('forms_ext.views.generic.FormSetView.get_context_data')
    def test_render_response_with_formset_when_form_invalid(self, get_context_data, render_to_response):
        formset = mock.Mock()
        response = self.view.form_invalid(formset)
        get_context_data.assert_called_once_with(formset=formset)
        render_to_response.assert_called_once_with(get_context_data.return_value)
        self.assertEqual(render_to_response.return_value, response)

    def test_the_formset_view_passes_a_formset_into_the_template_context(self):
        response = self.client.get(reverse('simple'))
        self.assertIn('formset', response.context)