Esempio n. 1
0
    def test_form_valid_without_object(self, super_mock):
        """
        Test :py:meth:`.ModelFormMixin.form_valid` without ``self.object`` set.
        """
        super_class = Mock()
        super_class.form_valid.return_value = 'form-valid'
        super_mock.return_value = super_class

        form = Mock()
        model_obj = Mock()
        mixin = ModelFormMixin()
        mixin.object = None
        mixin.document_class = Mock(return_value=model_obj)

        self.assertEqual('form-valid', mixin.form_valid(form))
        form.populate_obj.assert_called_once_with(model_obj)
        mixin.object.save.assert_called_once_with()
        super_mock.assert_called_once_with(ModelFormMixin, mixin)
        super_class.form_valid.assert_called_once_with(form)