Skip to content
This repository has been archived by the owner on Sep 28, 2022. It is now read-only.

Commit

Permalink
Merge pull request #108 from postatum/103056296_polymorphic_400
Browse files Browse the repository at this point in the history
Change instance check in events
  • Loading branch information
jstoiko committed Sep 12, 2015
2 parents 64f9553 + ad43ea1 commit ece34c2
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 9 deletions.
2 changes: 1 addition & 1 deletion nefertari/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ def trigger_events(view_obj):
view_obj._json_params,
view_obj.Model)
}
if isinstance(view_obj.context, view_obj.Model):
if hasattr(view_obj.context, 'pk_field'):
event_kwargs['instance'] = view_obj.context

before_event = BEFORE_EVENTS[request.action]
Expand Down
14 changes: 6 additions & 8 deletions tests/test_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,11 @@ def test_set_field_value_no_field_name_no_field(self):

@patch('nefertari.utils.FieldData.from_dict')
def test_trigger_events(self, mock_from):
class A(object):
pass

mock_after = Mock()
mock_before = Mock()
mock_from.return_value = {'foo': 1}
ctx = A()
ctx = Mock()
view = Mock(
Model=A,
request=Mock(action='index'),
_json_params={'bar': 1},
context=ctx,
Expand All @@ -61,14 +57,16 @@ class A(object):
pass

mock_after.assert_called_once_with(
fields={'foo': 1}, model=A, instance=ctx, view=view)
fields={'foo': 1}, model=view.Model, instance=ctx,
view=view)
mock_before.assert_called_once_with(
fields={'foo': 1}, model=A, instance=ctx, view=view)
fields={'foo': 1}, model=view.Model, instance=ctx,
view=view)
view.request.registry.notify.assert_has_calls([
call(mock_before()),
call(mock_after()),
])
mock_from.assert_called_once_with({'bar': 1}, A)
mock_from.assert_called_once_with({'bar': 1}, view.Model)

@patch('nefertari.utils.FieldData.from_dict')
def test_trigger_events_silent_view(self, mock_from):
Expand Down

0 comments on commit ece34c2

Please sign in to comment.