More helpful error when signed in an accept invite

This commit is contained in:
Chris Hill-Scott
2016-04-07 15:03:36 +01:00
parent f2109b6150
commit 25079464b0
2 changed files with 12 additions and 2 deletions

View File

@@ -27,7 +27,14 @@ def accept_invite(token):
invited_user = invite_api_client.check_token(token)
if not current_user.is_anonymous() and current_user.email_address != invited_user.email_address:
flash("You can't accept an invite for another person.")
flash("""
Youre signed in as {}.
This invite is for another email address.
<a href='{}'>Sign out</a> and click the link again to accept this invite.
""".format(
current_user.email_address,
url_for("main.sign_out")
))
abort(403)
if invited_user.status == 'cancelled':

View File

@@ -284,7 +284,10 @@ def test_signed_in_existing_user_cannot_use_anothers_invite(app_,
assert page.h1.string.strip() == '403'
flash_banners = page.find_all('div', class_='banner-dangerous')
assert len(flash_banners) == 1
assert flash_banners[0].text.strip() == "You can't accept an invite for another person."
banner_contents = flash_banners[0].text.strip()
assert "Youre signed in as test@user.gov.uk." in banner_contents
assert "This invite is for another email address." in banner_contents
assert "<a href='/sign-out'>Sign out</a> and click the link again to accept this invite." in banner_contents
assert mock_accept_invite.call_count == 0