def METHOD_NAME(self):
    proforma = ProformaFactory.create()
    url = reverse('admin:silver_proforma_changelist')
    mock_log_entry = MagicMock()
    mock_log_action = MagicMock()
    mock_log_entry.objects.log_action = mock_log_action
    mock_action = Mock(return_value=Mock(series_number='aaa', admin_change_url="result_url"))
    mock_proforma = MagicMock()
    mock_proforma.issue = mock_action
    mock_proforma.cancel = mock_action
    mock_proforma.pay = mock_action
    mock_proforma.clone_into_draft = mock_action
    mock_proforma.create_invoice = mock_action
    with patch.multiple('silver.admin',
                        LogEntry=mock_log_entry,
                        Proforma=mock_proforma):
        actions = ['issue', 'pay', 'cancel', 'clone', 'create_invoice']
        for action in actions:
            self.admin.post(url, {
                'action': action,
                '_selected_action': [str(proforma.pk)]
            })
            assert mock_action.call_count
            mock_action.reset_mock()
            if action == 'clone':
                action = 'clone_into_draft'
            mock_log_action.assert_called_with(
                user_id=self.user.pk,
                content_type_id=ContentType.objects.get_for_model(proforma).pk,
                object_id=proforma.pk,
                object_repr=force_str(proforma),
                action_flag=CHANGE,
                change_message='{action} action initiated by user.'.format(
                    action=action.capitalize().replace('_', ' ')
                )
            )