Exemplo n.º 1
0
    def test_basket_unsubscribe_newsletter(self):
        create_switch('activate-basket-sync')

        with patch('basket.base.request', autospec=True) as request_call:
            request_call.return_value = {
                'status': 'ok', 'token': '123',
                'newsletters': ['announcements']}

            form = UserEditForm(
                {}, instance=self.user,
                request=RequestFactory().get('/users/edit/'))

        request_call.assert_called_with(
            'get', 'lookup-user',
            headers={'x-api-key': 'testkey'},
            params={'email': u'*****@*****.**'})

        with patch('basket.base.request', autospec=True) as request_call:
            request_call.return_value = {
                'status': 'ok', 'token': '123',
                'newsletters': []}
            assert form.is_valid()
            form.save()

        request_call.assert_called_with(
            'post', 'unsubscribe',
            data={
                'newsletters': 'about-addons',
                'email': u'*****@*****.**'},
            token='123')
Exemplo n.º 2
0
    def test_basket_unsubscribe_newsletter(self):
        with patch('basket.base.request', autospec=True) as request_call:
            request_call.return_value = {
                'status': 'ok',
                'token': '123',
                'newsletters': ['announcements']
            }

            form = UserEditForm({},
                                instance=self.user,
                                request=RequestFactory().get('/users/edit/'))

        request_call.assert_called_with(
            'get',
            'lookup-user',
            headers={'x-api-key': 'testkey'},
            params={'email': u'*****@*****.**'})

        with patch('basket.base.request', autospec=True) as request_call:
            request_call.return_value = {
                'status': 'ok',
                'token': '123',
                'newsletters': []
            }
            assert form.is_valid()
            form.save()

        request_call.assert_called_with('post',
                                        'unsubscribe',
                                        data={
                                            'newsletters': 'about-addons',
                                            'email': u'*****@*****.**'
                                        },
                                        token='123')
Exemplo n.º 3
0
 def test_cannot_change_email(self):
     self.user.update(fxa_id='1a2b3c', email='*****@*****.**')
     form = UserEditForm(
         {'email': '*****@*****.**'}, instance=self.user)
     assert form.is_valid()
     form.save()
     assert self.user.reload().email == '*****@*****.**'
Exemplo n.º 4
0
 def test_cannot_change_email(self):
     self.user.update(fxa_id='1a2b3c', email='*****@*****.**')
     form = UserEditForm({
         'email': '*****@*****.**',
         'lang': 'de'
     },
                         instance=self.user)
     assert form.is_valid()
     form.save()
     assert self.user.reload().email == '*****@*****.**'
Exemplo n.º 5
0
 def test_photo_modified(self, update_mock):
     request = Mock()
     request.user = self.user
     data = {'username': self.user_profile.username,
             'email': self.user_profile.email}
     files = {'photo': get_uploaded_file('transparent.png')}
     form = UserEditForm(data, files=files, instance=self.user_profile,
                         request=request)
     assert form.is_valid()
     form.save()
     assert update_mock.called
Exemplo n.º 6
0
    def test_photo_modified(self, update_mock):
        dummy = Mock()
        dummy.user = self.user

        data = {'username': self.user_profile.username,
                'email': self.user_profile.email,
                'lang': 'en-US'}
        files = {'photo': get_uploaded_file('transparent.png')}
        form = UserEditForm(data, files=files, instance=self.user_profile,
                            request=dummy)
        assert form.is_valid()
        form.save()
        assert update_mock.called
Exemplo n.º 7
0
    def test_basket_subscribe_newsletter(self):
        create_switch('activate-basket-sync')

        addon_factory(users=[self.user])

        with patch('basket.base.request', autospec=True) as request_call:
            request_call.return_value = {
                'status': 'ok',
                'token': '123',
                'newsletters': []
            }

            # 8 is the `announcements` notification, or about-addons newsletter
            form = UserEditForm({'notifications': [3, 4, 8]},
                                instance=self.user,
                                request=RequestFactory().get('/users/edit/'))

        request_call.assert_called_with(
            'get',
            'lookup-user',
            headers={'x-api-key': 'testkey'},
            params={'email': u'*****@*****.**'})

        with patch('basket.base.request', autospec=True) as request_call:
            request_call.return_value = {
                'status': 'ok',
                'token': '123',
                'newsletters': ['about-addons']
            }

            assert form.is_valid()
            form.save()

        request_call.assert_called_with('post',
                                        'subscribe',
                                        headers={'x-api-key': 'testkey'},
                                        data={
                                            'newsletters': 'about-addons',
                                            'sync': 'Y',
                                            'optin': 'Y',
                                            'source_url':
                                            'http://testserver/users/edit/',
                                            'email': u'*****@*****.**'
                                        })
Exemplo n.º 8
0
    def test_basket_subscribe_newsletter(self):
        create_switch('activate-basket-sync')

        addon_factory(users=[self.user])

        with patch('basket.base.request', autospec=True) as request_call:
            request_call.return_value = {
                'status': 'ok', 'token': '123',
                'newsletters': []}

            # 8 is the `announcements` notification, or about-addons newsletter
            form = UserEditForm(
                {'notifications': [3, 4, 8]},
                instance=self.user,
                request=RequestFactory().get('/users/edit/'))

        request_call.assert_called_with(
            'get', 'lookup-user',
            headers={'x-api-key': 'testkey'},
            params={'email': u'*****@*****.**'})

        with patch('basket.base.request', autospec=True) as request_call:
            request_call.return_value = {
                'status': 'ok', 'token': '123',
                'newsletters': ['about-addons']}

            assert form.is_valid()
            form.save()

        request_call.assert_called_with(
            'post', 'subscribe',
            headers={'x-api-key': 'testkey'},
            data={
                'newsletters': 'about-addons', 'sync': 'Y',
                'optin': 'Y', 'source_url': 'http://testserver/users/edit/',
                'email': u'*****@*****.**'})