Files
notifications-admin/tests/app/main/views/test_main_nav.py
Leo Hemsted bbeb3595a8 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)
2017-02-17 09:44:53 +00:00

59 lines
1.9 KiB
Python

from flask import url_for
from bs4 import BeautifulSoup
from tests.conftest import mock_get_user
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.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,
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.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_edit_permissions(
client,
mocker,
active_user_view_permissions,
mock_get_users_by_service,
mock_get_invites_for_service,
service_one
):
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(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')
assert 'Letter templates' in page.find('nav', class_='navigation').text