mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 08:16:51 -04:00
Stop showing priorities for other provider types
This isn't used and showing priorities when we only have a single provider or where they have no effect is unnecessarily confusing. Removing the form makes it clearer that there's only one way to adjust priorities for domestic SMS providers. If we add another email or international SMS provider in future, we would need to rewrite the form here anyway as the priorities need to be adjusted in tandem, not individually.
This commit is contained in:
@@ -4,9 +4,7 @@ from unittest.mock import call
|
||||
import pytest
|
||||
from flask import url_for
|
||||
|
||||
import app
|
||||
from app.main.views.providers import add_monthly_traffic
|
||||
from tests.conftest import normalize_spaces
|
||||
|
||||
sms_provider_1 = {
|
||||
'id': '6005e192-4738-4962-beec-ebd982d0b03f',
|
||||
@@ -107,13 +105,6 @@ def stub_providers():
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def stub_provider():
|
||||
return {
|
||||
'provider_details': sms_provider_1
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def stub_provider_history():
|
||||
return {
|
||||
@@ -204,34 +195,27 @@ def test_should_show_all_providers(
|
||||
|
||||
assert domestic_email_table_data[0].find_all("a")[0]['href'] == '/provider/6005e192-4738-4962-beec-ebd982d0b03a'
|
||||
assert domestic_email_table_data[0].text.strip() == "first_email_provider"
|
||||
assert domestic_email_table_data[1].text.strip() == "1"
|
||||
assert domestic_email_table_data[2].text.strip() == "True"
|
||||
assert domestic_email_table_data[1].text.strip() == "True"
|
||||
assert domestic_email_table_data[2].text.strip() == "None"
|
||||
assert domestic_email_table_data[3].text.strip() == "None"
|
||||
assert domestic_email_table_data[4].text.strip() == "None"
|
||||
assert domestic_email_table_data[5].find_all("a")[0]['href'] \
|
||||
== '/provider/6005e192-4738-4962-beec-ebd982d0b03a/edit'
|
||||
|
||||
domestic_email_second_row = domestic_email_table.tbody.find_all('tr')[1]
|
||||
domestic_email_table_data = domestic_email_second_row.find_all('td')
|
||||
|
||||
assert domestic_email_table_data[0].find_all("a")[0]['href'] == '/provider/0bd529cd-a0fd-43e5-80ee-b95ef6b0d51b'
|
||||
assert domestic_email_table_data[0].text.strip() == "second_email_provider"
|
||||
assert domestic_email_table_data[1].text.strip() == "2"
|
||||
assert domestic_email_table_data[2].text.strip() == "True"
|
||||
assert domestic_email_table_data[1].text.strip() == "True"
|
||||
assert domestic_email_table_data[2].text.strip() == "None"
|
||||
assert domestic_email_table_data[3].text.strip() == "None"
|
||||
assert domestic_email_table_data[4].text.strip() == "None"
|
||||
assert domestic_email_table_data[5].find_all("a")[0]['href'] \
|
||||
== '/provider/0bd529cd-a0fd-43e5-80ee-b95ef6b0d51b/edit'
|
||||
|
||||
international_sms_first_row = international_sms_table.tbody.find_all('tr')[0]
|
||||
table_data = international_sms_first_row.find_all('td')
|
||||
|
||||
assert table_data[0].find_all("a")[0]['href'] == '/provider/67c770f5-918e-4afa-a5ff-880b9beb161d'
|
||||
assert table_data[0].text.strip() == "First International SMS Provider"
|
||||
assert table_data[1].text.strip() == "10"
|
||||
assert table_data[2].text.strip() == "False"
|
||||
assert table_data[1].text.strip() == "False"
|
||||
assert table_data[2].text.strip() == "None"
|
||||
assert table_data[3].text.strip() == "None"
|
||||
assert table_data[4].text.strip() == "None"
|
||||
|
||||
|
||||
def test_add_monthly_traffic():
|
||||
@@ -263,133 +247,6 @@ def test_add_monthly_traffic():
|
||||
}]
|
||||
|
||||
|
||||
def test_should_show_edit_provider_form(
|
||||
client_request,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
stub_provider
|
||||
):
|
||||
mocker.patch('app.provider_client.get_provider_by_id', return_value=stub_provider)
|
||||
|
||||
client_request.login(platform_admin_user)
|
||||
page = client_request.get('main.edit_provider', provider_id=fake_uuid)
|
||||
|
||||
h1 = [header.text.strip() for header in page.find_all('h1')]
|
||||
|
||||
assert 'First Domestic SMS Provider' in h1
|
||||
|
||||
form = [form for form in page.find_all('form')]
|
||||
|
||||
form_elements = [element for element in form[0].find_all('input')]
|
||||
assert form_elements[0]['value'] == '20'
|
||||
assert form_elements[0]['name'] == 'priority'
|
||||
|
||||
|
||||
def test_should_show_error_on_bad_provider_priority(
|
||||
client_request,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
stub_provider,
|
||||
):
|
||||
mocker.patch('app.provider_client.get_provider_by_id', return_value=stub_provider)
|
||||
|
||||
client_request.login(platform_admin_user)
|
||||
page = client_request.post(
|
||||
'main.edit_provider',
|
||||
provider_id=stub_provider['provider_details']['id'],
|
||||
_data={'priority': "not valid"},
|
||||
_expected_status=200,
|
||||
)
|
||||
|
||||
assert normalize_spaces(
|
||||
page.select_one('.govuk-error-message').text
|
||||
) == "Error: Not a valid integer value."
|
||||
|
||||
|
||||
def test_should_show_error_on_negative_provider_priority(
|
||||
client_request,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
stub_provider,
|
||||
):
|
||||
mocker.patch('app.provider_client.get_provider_by_id', return_value=stub_provider)
|
||||
|
||||
client_request.login(platform_admin_user)
|
||||
page = client_request.post(
|
||||
'main.edit_provider',
|
||||
provider_id=stub_provider['provider_details']['id'],
|
||||
_data={'priority': -1},
|
||||
_expected_status=200,
|
||||
)
|
||||
|
||||
assert normalize_spaces(
|
||||
page.select_one('.govuk-error-message').text
|
||||
) == "Error: Must be between 1 and 100"
|
||||
|
||||
|
||||
def test_should_show_error_on_too_big_provider_priority(
|
||||
client_request,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
stub_provider,
|
||||
):
|
||||
mocker.patch('app.provider_client.get_provider_by_id', return_value=stub_provider)
|
||||
|
||||
client_request.login(platform_admin_user)
|
||||
page = client_request.post(
|
||||
'main.edit_provider',
|
||||
provider_id=stub_provider['provider_details']['id'],
|
||||
_data={'priority': 101},
|
||||
_expected_status=200,
|
||||
)
|
||||
|
||||
assert normalize_spaces(
|
||||
page.select_one('.govuk-error-message').text
|
||||
) == "Error: Must be between 1 and 100"
|
||||
|
||||
|
||||
def test_should_show_error_on_too_little_provider_priority(
|
||||
client_request,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
stub_provider,
|
||||
):
|
||||
mocker.patch('app.provider_client.get_provider_by_id', return_value=stub_provider)
|
||||
|
||||
client_request.login(platform_admin_user)
|
||||
page = client_request.post(
|
||||
'main.edit_provider',
|
||||
provider_id=stub_provider['provider_details']['id'],
|
||||
_data={'priority': 0},
|
||||
_expected_status=200,
|
||||
)
|
||||
|
||||
assert normalize_spaces(
|
||||
page.select_one('.govuk-error-message').text
|
||||
) == "Error: Must be between 1 and 100"
|
||||
|
||||
|
||||
def test_should_update_provider_priority(
|
||||
client_request,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
stub_provider,
|
||||
):
|
||||
mocker.patch('app.provider_client.get_provider_by_id', return_value=stub_provider)
|
||||
mocker.patch('app.provider_client.update_provider', return_value=stub_provider)
|
||||
|
||||
client_request.login(platform_admin_user)
|
||||
client_request.post(
|
||||
'main.edit_provider',
|
||||
provider_id=stub_provider['provider_details']['id'],
|
||||
_data={'priority': 2},
|
||||
_expected_redirect='http://localhost/providers',
|
||||
)
|
||||
|
||||
app.provider_client.update_provider.assert_called_with(stub_provider['provider_details']['id'], 2)
|
||||
|
||||
|
||||
def test_should_show_provider_version_history(
|
||||
client_request,
|
||||
platform_admin_user,
|
||||
|
||||
@@ -102,7 +102,6 @@ EXCLUDED_ENDPOINTS = tuple(map(Navigation.get_endpoint_with_blueprint, {
|
||||
'edit_organisation_notes',
|
||||
'edit_organisation_type',
|
||||
'edit_organisation_user',
|
||||
'edit_provider',
|
||||
'edit_service_billing_details',
|
||||
'edit_service_notes',
|
||||
'edit_service_template',
|
||||
|
||||
Reference in New Issue
Block a user