def test_subscribe_user_update_existing(self, mailchimp):
        """Test subscribe user update existing works."""
        with patch.dict(self.flask_app.config, {
                'MAILCHIMP_API_KEY': 'k-3',
                'MAILCHIMP_LIST_ID': 1
        }):
            user = UserFactory.create()
            nw = Newsletter()
            nw.init_app(self.flask_app)

            nw.subscribe_user(user, update=True)

            email = {'email': user.email_addr}
            merge_vars = {'FNAME': user.fullname}
            url = "%s/lists/1/members/%s" % (
                nw.root, nw.get_email_hash(user.email_addr))
            data = dict(email_address=user.email_addr,
                        status='pending',
                        merge_fields=dict(FNAME=user.fullname),
                        status_if_new='pending')
            mailchimp.assert_called_with(
                url,
                data=json.dumps(data),
                headers={'content-type': 'application/json'},
                auth=nw.auth)
Example #2
0
    def test_subscribe_user(self, mailchimp):
        """Test subscribe user works."""
        with patch.dict(self.flask_app.config, {"MAILCHIMP_API_KEY": "k-3", "MAILCHIMP_LIST_ID": 1}):
            user = UserFactory.create()
            nw = Newsletter()
            nw.init_app(self.flask_app)

            nw.subscribe_user(user)

            email = {"email": user.email_addr}
            merge_vars = {"FNAME": user.fullname}
            nw.client.lists.subscribe.assert_called_with(1, email, merge_vars, update_existing=False)
Example #3
0
    def test_subscribe_user(self, mailchimp):
        """Test subscribe user works."""
        with patch.dict(self.flask_app.config, {'MAILCHIMP_API_KEY': 'k-3',
                                                'MAILCHIMP_LIST_ID': 1}):
            user = UserFactory.create()
            nw = Newsletter()
            nw.init_app(self.flask_app)

            nw.subscribe_user(user)

            email = {'email': user.email_addr}
            merge_vars = {'FNAME': user.fullname}
            nw.client.lists.subscribe.assert_called_with(1, email, merge_vars,
                                                         update_existing=False)
Example #4
0
    def test_subscribe_user_update_existing(self, mailchimp):
        """Test subscribe user update existing works."""
        with patch.dict(self.flask_app.config, {"MAILCHIMP_API_KEY": "k-3", "MAILCHIMP_LIST_ID": 1}):
            user = UserFactory.create()
            nw = Newsletter()
            nw.init_app(self.flask_app)

            old_email = "*****@*****.**"

            tmp = {"data": [{"email": old_email}], "success_count": 1}
            nw.client.lists.member_info.return_value = tmp

            nw.subscribe_user(user, old_email=old_email)

            email = {"email": old_email}
            merge_vars = {"FNAME": user.fullname, "new-email": user.email_addr}
            nw.client.lists.subscribe.assert_called_with(1, email, merge_vars, update_existing=True)
Example #5
0
    def test_subscribe_user(self, mailchimp):
        """Test subscribe user works."""
        with patch.dict(self.flask_app.config, {'MAILCHIMP_API_KEY': 'k-3',
                                                'MAILCHIMP_LIST_ID': 1}):
            user = UserFactory.create()
            nw = Newsletter()
            nw.init_app(self.flask_app)

            nw.subscribe_user(user)

            email = {'email': user.email_addr}
            merge_vars = {'FNAME': user.fullname}
            url = "%s/lists/1/members/" % (nw.root)
            data = dict(email_address=user.email_addr,
                        status='pending',
                        merge_fields=dict(FNAME=user.fullname))
            mailchimp.assert_called_with(url, data=json.dumps(data),
                                         headers={'content-type':
                                                  'application/json'},
                                         auth=nw.auth)
    def test_subscribe_user(self, mailchimp):
        """Test subscribe user works."""
        with patch.dict(self.flask_app.config, {
                'MAILCHIMP_API_KEY': 'k-3',
                'MAILCHIMP_LIST_ID': 1
        }):
            user = UserFactory.create()
            nw = Newsletter()
            nw.init_app(self.flask_app)

            nw.subscribe_user(user)

            url = "%s/lists/1/members/" % (nw.root)
            data = dict(email_address=user.email_addr,
                        status='pending',
                        merge_fields=dict(FNAME=user.fullname))
            mailchimp.assert_called_with(
                url,
                data=json.dumps(data),
                headers={'content-type': 'application/json'},
                auth=nw.auth)
Example #7
0
    def test_subscribe_user_update_existing(self, mailchimp):
        """Test subscribe user update existing works."""
        with patch.dict(self.flask_app.config, {'MAILCHIMP_API_KEY': 'k-3',
                                                'MAILCHIMP_LIST_ID': 1}):
            user = UserFactory.create()
            nw = Newsletter()
            nw.init_app(self.flask_app)

            old_email = '*****@*****.**'

            tmp = {'data': [{'email': old_email}],
                   'success_count': 1}
            nw.client.lists.member_info.return_value = tmp

            nw.subscribe_user(user, old_email=old_email)

            email = {'email': old_email}
            merge_vars = {'FNAME': user.fullname,
                          'new-email': user.email_addr}
            nw.client.lists.subscribe.assert_called_with(1, email, merge_vars,
                                                         update_existing=True)
Example #8
0
    def test_subscribe_user_update_existing(self, mailchimp):
        """Test subscribe user update existing works."""
        with patch.dict(self.flask_app.config, {'MAILCHIMP_API_KEY': 'k-3',
                                                'MAILCHIMP_LIST_ID': 1}):
            user = UserFactory.create()
            nw = Newsletter()
            nw.init_app(self.flask_app)

            old_email = '*****@*****.**'

            tmp = {'data': [{'email': old_email}],
                   'success_count': 1}
            nw.client.lists.member_info.return_value = tmp

            nw.subscribe_user(user, old_email=old_email)

            email = {'email': old_email}
            merge_vars = {'FNAME': user.fullname,
                          'new-email': user.email_addr}
            nw.client.lists.subscribe.assert_called_with(1, email, merge_vars,
                                                         update_existing=True)