clear up where we use restore_provider_details

it now only needs to be used when you're:
* updating providers in ways that will create history (eg through
  regular api calls)
* altering more than just priority in test setup (eg setting inactive,
  deleting, or adding a provider)
This commit is contained in:
Leo Hemsted
2019-11-11 16:35:18 +00:00
parent 3c63ccb159
commit 4a6a228cc2
3 changed files with 15 additions and 16 deletions

View File

@@ -32,32 +32,32 @@ def set_primary_sms_provider(identifier):
dao_update_provider_details(secondary_provider)
def test_can_get_sms_non_international_providers(restore_provider_details):
def test_can_get_sms_non_international_providers(notify_db_session):
sms_providers = get_provider_details_by_notification_type('sms')
assert len(sms_providers) == 2
assert all('sms' == prov.notification_type for prov in sms_providers)
def test_can_get_sms_international_providers(restore_provider_details):
def test_can_get_sms_international_providers(notify_db_session):
sms_providers = get_provider_details_by_notification_type('sms', True)
assert len(sms_providers) == 1
assert all('sms' == prov.notification_type for prov in sms_providers)
assert all(prov.supports_international for prov in sms_providers)
def test_can_get_sms_providers_in_order_of_priority(restore_provider_details):
def test_can_get_sms_providers_in_order_of_priority(notify_db_session):
providers = get_provider_details_by_notification_type('sms', False)
assert providers[0].priority < providers[1].priority
def test_can_get_email_providers_in_order_of_priority(restore_provider_details):
def test_can_get_email_providers_in_order_of_priority(notify_db_session):
providers = get_provider_details_by_notification_type('email')
assert providers[0].identifier == "ses"
def test_can_get_email_providers(restore_provider_details):
def test_can_get_email_providers(notify_db_session):
assert len(get_provider_details_by_notification_type('email')) == 1
types = [provider.notification_type for provider in get_provider_details_by_notification_type('email')]
assert all('email' == notification_type for notification_type in types)
@@ -136,7 +136,7 @@ def test_get_alternative_sms_provider_fails_if_unrecognised():
({'mmg': 50, 'firetext': -100}, {'mmg': 40, 'firetext': -90}),
])
def test_reduce_sms_provider_priority_switches_provider(
restore_provider_details,
notify_db_session,
starting_priorities,
expected_priorities
):
@@ -156,21 +156,20 @@ def test_reduce_sms_provider_priority_switches_provider(
def test_reduce_sms_provider_priority_adds_rows_to_history_table(
mocker,
restore_provider_details,
current_sms_provider,
sample_user
):
raise NotImplementedError
# mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
# provider_history_rows = ProviderDetailsHistory.query.filter(
# ProviderDetailsHistory.id == current_sms_provider.id
# ProviderDetailsHistory.id == mmg.id
# ).order_by(
# desc(ProviderDetailsHistory.version)
# ).all()
# dao_toggle_sms_provider(current_sms_provider.identifier)
# dao_toggle_sms_provider(mmg.identifier)
# updated_provider_history_rows = ProviderDetailsHistory.query.filter(
# ProviderDetailsHistory.id == current_sms_provider.id
# ProviderDetailsHistory.id == mmg.id
# ).order_by(
# desc(ProviderDetailsHistory.version)
# ).all()
@@ -196,8 +195,8 @@ def test_reduce_sms_provider_priority_records_notify_user(
# assert new_provider.created_by_id == sample_user.id
def test_can_get_all_provider_history(restore_provider_details, current_sms_provider):
assert len(dao_get_provider_versions(current_sms_provider.id)) == 1
def test_can_get_all_provider_history(notify_db_session):
assert len(dao_get_provider_versions('mmg')) == 1
@freeze_time('2018-06-28 12:00')

View File

@@ -565,7 +565,6 @@ def test_should_set_notification_billable_units_if_sending_to_provider_fails(
def test_should_send_sms_to_international_providers(
restore_provider_details,
sample_template,
sample_user,
mocker

View File

@@ -2,7 +2,7 @@ import pytest
from marshmallow import ValidationError
from sqlalchemy import desc
from app.dao.provider_details_dao import dao_update_provider_details
from app.dao.provider_details_dao import dao_update_provider_details, get_provider_details_by_identifier
from app.models import ProviderDetailsHistory
from tests.app.db import create_api_key
@@ -101,9 +101,10 @@ def test_user_update_schema_rejects_disallowed_attribute_keys(user_attribute):
def test_provider_details_schema_returns_user_details(
mocker,
sample_user,
current_sms_provider
restore_provider_details
):
from app.schemas import provider_details_schema
current_sms_provider = get_provider_details_by_identifier('mmg')
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
current_sms_provider.created_by = sample_user
data = provider_details_schema.dump(current_sms_provider).data
@@ -115,10 +116,10 @@ def test_provider_details_history_schema_returns_user_details(
mocker,
sample_user,
restore_provider_details,
current_sms_provider
):
from app.schemas import provider_details_schema
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
current_sms_provider = get_provider_details_by_identifier('mmg')
current_sms_provider.created_by_id = sample_user.id
data = provider_details_schema.dump(current_sms_provider).data