def test_get_context_data(self, super_mock): """ Test :py:meth:`.ModelFormMixin.get_context_data`. """ super_class = Mock() super_class.get_context_data.return_value = {'foo': 'bar'} super_mock.return_value = super_class mixin = ModelFormMixin() mixin.object = Mock() self.assertEqual({ 'foo': 'bar', 'object': mixin.object, }, mixin.get_context_data(foo='bar')) super_class.get_context_data.assert_called_once_with(foo='bar')
def test_get_form_kwargs(self, super_mock): """ Test :py:meth:`.ModelFormMixin.get_form_kwargs`. """ super_class = Mock() super_class.get_form_kwargs.return_value = {'foo': 'bar'} super_mock.return_value = super_class mixin = ModelFormMixin() mixin.object = Mock() self.assertEqual({ 'foo': 'bar', 'obj': mixin.object, }, mixin.get_form_kwargs()) super_mock.assert_called_once_with(ModelFormMixin, mixin)
def test_form_valid_with_object(self, super_mock): """ Test :py:meth:`.ModelFormMixin.form_valid` with ``self.object`` set. """ super_class = Mock() super_class.form_valid.return_value = 'form-valid' super_mock.return_value = super_class form = Mock() mixin = ModelFormMixin() mixin.object = Mock() self.assertEqual('form-valid', mixin.form_valid(form)) form.populate_obj.assert_called_once_with(mixin.object) mixin.object.save.assert_called_once_with() super_mock.assert_called_once_with(ModelFormMixin, mixin) super_class.form_valid.assert_called_once_with(form)
def test_inherited_classes(self): """ Test that this class inherits from the right classes. """ for class_obj in [FormMixin, SingleObjectMixin]: self.assertIn(class_obj, ModelFormMixin.mro())