Exemple #1
0
def test_settings_email_with_invalid_email(users, dummy_request):
    from aarau.views.console.settings.action import settings_email
    from aarau.views.console.settings.form import NewEmailForm

    user = users['oswald']

    dummy_request.subdomain = 'console'
    dummy_request.user = user
    dummy_request.POST = MultiDict({
        'csrf_token':
        dummy_request.session.get_csrf_token(),
        'new_email':
        'invalid',
        'submit':
        '1',
    })
    res = settings_email(dummy_request)

    assert isinstance(res['form'], NewEmailForm)
    assert [  # does not contain any change in res
        '*****@*****.**', '*****@*****.**'
    ] == [ue.email for ue in res['user_emails']]
    assert_user_email_forms(res['user_emails'], res['email_forms'])
    assert {'new_email': ['Invalid email address.']} == res['form'].errors
    assert dummy_request.session.peek_flash('failure')
Exemple #2
0
def test_settings_email_with_empty_params(users, dummy_request):
    from aarau.views.console.settings.action import settings_email
    from aarau.views.console.settings.form import NewEmailForm

    user = users['oswald']

    dummy_request.subdomain = 'console'
    dummy_request.user = user
    dummy_request.POST = MultiDict({})
    res = settings_email(dummy_request)

    assert isinstance(res['form'], NewEmailForm)
    assert user.emails.count() == res['user_emails'].count()
    assert_user_email_forms(res['user_emails'], res['email_forms'])
    assert not dummy_request.session.peek_flash()
Exemple #3
0
def test_settings_email_with_valid_email(users, dummy_request):
    from aarau.views.console.settings.action import settings_email

    dummy_request.subdomain = 'console'
    dummy_request.user = users['oswald']
    dummy_request.POST = MultiDict({
        'csrf_token':
        dummy_request.session.get_csrf_token(),
        'new_email':
        '*****@*****.**',
        'submit':
        '1',
    })
    assert 2 == users['oswald'].emails.count()

    res = settings_email(dummy_request)

    assert dict != type(res)
    assert dummy_request.session.peek_flash('success')
    assert '302 Found' == res.status
    assert '/settings/email' == res.location
Exemple #4
0
def test_settings_email_with_pending_email(users, dummy_request):
    from aarau.views.console.settings.action import settings_email

    user = users['henry']

    dummy_request.subdomain = 'console'
    dummy_request.user = user
    dummy_request.POST = MultiDict({
        'csrf_token':
        dummy_request.session.get_csrf_token(),
        'new_email':
        '*****@*****.**',
        'submit':
        '1',
    })
    res = settings_email(dummy_request)

    assert dict != type(res)
    assert dummy_request.session.peek_flash('warning')
    assert '302 Found' == res.status
    assert '/settings/email' == res.location
Exemple #5
0
def test_settings_email_with_invalid_csrf(users, dummy_request):
    from aarau.views.console.settings.action import settings_email
    from aarau.views.console.settings.form import NewEmailForm

    user = users['oswald']
    new_email = '*****@*****.**'

    dummy_request.subdomain = 'console'
    dummy_request.user = user
    dummy_request.POST = MultiDict({
        'csrf_token': 'invalid',
        'new_email': new_email,
        'submit': '1',
    })
    res = settings_email(dummy_request)

    assert isinstance(res['form'], NewEmailForm)
    assert new_email not in [e.email for e in user.emails]
    assert new_email not in [e.email for e in res['user_emails']]
    assert user.emails.count() == res['user_emails'].count()
    assert_user_email_forms(res['user_emails'], res['email_forms'])
    assert {'csrf_token': ['Invalid CSRF']} == res['form'].errors
    assert dummy_request.session.peek_flash('failure')