def test_user_cancel_account_signal_ok_with_bad_request_data(settings, client):
    user = f.UserFactory.create()
    with mock.patch.object(mailchimp.Lists, 'unsubscribe') as unsubscribe_mock_method:
        request_data = None
        user_cancel_account_signal.send(sender=user.__class__, user=user,
            request_data=request_data)
        assert not unsubscribe_mock_method.called
Beispiel #2
0
 def destroy(self, request, pk=None):
     user = self.get_object()
     self.check_permissions(request, "destroy", user)
     stream = request.stream
     request_data = stream is not None and stream.GET or None
     user_cancel_account_signal.send(sender=user.__class__, user=user, request_data=request_data)
     user.cancel()
     return response.NoContent()
def test_user_cancel_account_signal_ok(settings, client):
    user = f.UserFactory.create()
    with mock.patch.object(mailchimp.Lists, 'unsubscribe') as unsubscribe_mock_method:
        request_data = {'unsuscribe': 1}
        user_cancel_account_signal.send(sender=user.__class__, user=user,
            request_data=request_data)
        unsubscribe_mock_method.assert_called_once_with(id="Y",
            email={"email": user.email}, send_goodbye=False)
def test_user_cancel_account_signal_ok_with_bad_request_data(settings, client):
    user = f.UserFactory.create()
    with mock.patch.object(mailchimp.Lists,
                           'unsubscribe') as unsubscribe_mock_method:
        request_data = None
        user_cancel_account_signal.send(sender=user.__class__,
                                        user=user,
                                        request_data=request_data)
        assert not unsubscribe_mock_method.called
def test_user_cancel_account_signal_ok(settings, client):
    user = f.UserFactory.create()
    with mock.patch.object(mailchimp.Lists,
                           'unsubscribe') as unsubscribe_mock_method:
        request_data = {'unsuscribe': 1}
        user_cancel_account_signal.send(sender=user.__class__,
                                        user=user,
                                        request_data=request_data)
        unsubscribe_mock_method.assert_called_once_with(
            id="Y", email={"email": user.email}, send_goodbye=False)
def test_user_cancel_account_signal_ko(settings, client):
    user = f.UserFactory.create()
    with mock.patch.object(mailchimp.Lists, 'unsubscribe') as unsubscribe_mock_method, \
            mock.patch('taiga_contrib_mailchimp_subscription.utils.logger') as mock_logger:
        unsubscribe_mock_method.side_effect = mailchimp.ListAlreadySubscribedError(
                                           "[email protected] is not subscribed to list test")
        request_data = {'unsuscribe': 1}
        user_cancel_account_signal.send(sender=user.__class__, user=user,
            request_data=request_data)
        unsubscribe_mock_method.assert_called_once_with(id="Y",
            email={"email": user.email}, send_goodbye=False)

        mock_logger.error.assert_called_with("[Mailchimp] error on unsubscription: "
                                       "[email protected] is not subscribed to list test")
def test_user_cancel_account_signal_ko(settings, client):
    user = f.UserFactory.create()
    with mock.patch.object(mailchimp.Lists, 'unsubscribe') as unsubscribe_mock_method, \
            mock.patch('taiga_contrib_mailchimp_subscription.utils.logger') as mock_logger:
        unsubscribe_mock_method.side_effect = mailchimp.ListAlreadySubscribedError(
            "[email protected] is not subscribed to list test")
        request_data = {'unsuscribe': 1}
        user_cancel_account_signal.send(sender=user.__class__,
                                        user=user,
                                        request_data=request_data)
        unsubscribe_mock_method.assert_called_once_with(
            id="Y", email={"email": user.email}, send_goodbye=False)

        mock_logger.error.assert_called_with(
            "[Mailchimp] error on unsubscription: "
            "[email protected] is not subscribed to list test")