[WIP] pass invite instead of permissions to make update of invite easier if all goes well

This commit is contained in:
Adam Shimali
2016-03-03 15:26:18 +00:00
parent 0fd2572b08
commit 1ff9d671eb
6 changed files with 52 additions and 33 deletions

View File

@@ -7,6 +7,7 @@ def test_existing_user_accept_invite_calls_api_and_redirects_to_dashboard(app_,
service_one,
api_user_active,
sample_invite,
sample_invited_user,
mock_accept_invite,
mock_get_user_by_email,
mock_add_user_to_service):
@@ -21,7 +22,7 @@ def test_existing_user_accept_invite_calls_api_and_redirects_to_dashboard(app_,
mock_accept_invite.assert_called_with('thisisnotarealtoken')
mock_get_user_by_email.assert_called_with('invited_user@test.gov.uk')
mock_add_user_to_service.assert_called_with(expected_service, api_user_active.id)
mock_add_user_to_service.assert_called_with(expected_service, api_user_active.id, sample_invited_user)
assert response.status_code == 302
assert response.location == expected_redirect_location
@@ -31,12 +32,12 @@ def test_existing_signed_out_user_accept_invite_redirects_to_sign_in(app_,
service_one,
api_user_active,
sample_invite,
sample_invited_user,
mock_accept_invite,
mock_get_user_by_email,
mock_add_user_to_service):
expected_service = service_one['id']
expected_redirect_location = 'http://localhost/services/{}/dashboard'.format(expected_service)
with app_.test_request_context():
with app_.test_client() as client:
@@ -45,7 +46,7 @@ def test_existing_signed_out_user_accept_invite_redirects_to_sign_in(app_,
mock_accept_invite.assert_called_with('thisisnotarealtoken')
mock_get_user_by_email.assert_called_with('invited_user@test.gov.uk')
mock_add_user_to_service.assert_called_with(expected_service, api_user_active.id)
mock_add_user_to_service.assert_called_with(expected_service, api_user_active.id, sample_invited_user)
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
@@ -59,7 +60,6 @@ def test_new_user_accept_invite_calls_api_and_redirects_to_registration(app_,
mock_dont_get_user_by_email,
mock_add_user_to_service):
expected_service = service_one['id']
expected_redirect_location = 'http://localhost/register-from-invite'
with app_.test_request_context():
@@ -122,6 +122,7 @@ def test_new_user_accept_invite_completes_new_registration_redirects_to_verify(a
def test_new_invited_user_verifies_and_added_to_service(app_,
service_one,
sample_invite,
sample_invited_user,
mock_accept_invite,
mock_dont_get_user_by_email,
mock_register_user,
@@ -157,7 +158,7 @@ def test_new_invited_user_verifies_and_added_to_service(app_,
# service and sent on to dash board
with client.session_transaction() as session:
new_user_id = session['user_id']
mock_add_user_to_service.assert_called_with(data['service'], new_user_id)
mock_add_user_to_service.assert_called_with(data['service'], new_user_id, sample_invited_user)
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
element = page.find('h2', class_='navigation-service-name').find('a')

View File

@@ -596,6 +596,11 @@ def sample_invite(mocker, service_one):
return invite_json(id, from_user, service_id, email_address, permissions, created_at)
@pytest.fixture(scope='function')
def sample_invited_user(mocker, sample_invite):
return InvitedUser(**sample_invite)
@pytest.fixture(scope='function')
def mock_create_invite(mocker, sample_invite):
@@ -632,6 +637,6 @@ def mock_accept_invite(mocker, sample_invite):
@pytest.fixture(scope='function')
def mock_add_user_to_service(mocker, service_one, api_user_active):
def _add_user(service_id, user_id):
def _add_user(service_id, user_id, invited_user):
return api_user_active
return mocker.patch('app.user_api_client.add_user_to_service', side_effect=_add_user)