update tests to work with new correct logged_in_client fixtures

mostly making sure that the correct user is set up. some minor changes,
such as giving the platform_admin service permissions (so that we can
test that platform admins can send letters)
This commit is contained in:
Leo Hemsted
2017-02-14 14:06:02 +00:00
parent 61cbdac09d
commit bbeb3595a8
6 changed files with 175 additions and 260 deletions

View File

@@ -1,43 +1,57 @@
from flask import url_for
from bs4 import BeautifulSoup
from tests import service_json
from tests.conftest import mock_get_user
def test_can_see_letters_if_allowed(logged_in_client, mocker):
service = service_json(can_send_letters=True)
mocker.patch('app.service_api_client.get_service', return_value={"data": service})
def test_can_see_letters_if_allowed(
logged_in_client,
service_one,
mocker,
mock_get_users_by_service,
mock_get_invites_for_service
):
service_one['can_send_letters'] = True
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
response = logged_in_client.get(url_for('main.service_settings', service_id=service['id']))
response = logged_in_client.get(url_for('main.manage_users', service_id=service_one['id']))
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert 'Letter templates' in page.find('nav', class_='navigation').text
def test_cant_see_letters_if_not_allowed(logged_in_client, mocker):
service = service_json(can_send_letters=False)
mocker.patch('app.service_api_client.get_service', return_value={"data": service})
def test_cant_see_letters_if_not_allowed(
logged_in_client,
service_one,
mocker,
mock_get_users_by_service,
mock_get_invites_for_service
):
service_one['can_send_letters'] = False
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
response = logged_in_client.get(url_for('main.service_settings', service_id=service['id']))
response = logged_in_client.get(url_for('main.manage_users', service_id=service_one['id']))
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert 'Letter templates' not in page.find('nav', class_='navigation').text
def test_can_see_letters_without_permissions(
def test_can_see_letters_without_edit_permissions(
client,
mocker,
mock_login,
mock_has_permissions,
api_user_active,
active_user_view_permissions,
mock_get_users_by_service,
mock_get_invites_for_service,
service_one
):
service = service_json(can_send_letters=True)
mocker.patch('app.service_api_client.get_service', return_value={"data": service})
mock_get_user(mocker, user=active_user_view_permissions)
service_one['can_send_letters'] = True
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
client.login(api_user_active)
response = client.get(url_for('main.service_settings', service_id=service['id']))
client.login(active_user_view_permissions)
response = client.get(url_for('main.manage_users', service_id=service_one['id']))
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')