Updated the Provider stats and rates DAO objects to query based on the identifier in the ProviderDetails object.

- updated all tests
- changed teardown to leave provider details rows on end of individual tests
This commit is contained in:
Martyn Inglis
2016-05-06 09:09:47 +01:00
parent fedbb27ffd
commit 57e05feafb
15 changed files with 149 additions and 135 deletions

View File

@@ -13,7 +13,8 @@ from app.models import (
MMG_PROVIDER,
SES_PROVIDER,
TWILIO_PROVIDER,
ProviderStatistics)
ProviderStatistics,
ProviderDetails)
from app.dao.users_dao import (save_model_user, create_user_code, create_secret_code)
from app.dao.services_dao import (dao_create_service, dao_add_user_to_service)
from app.dao.templates_dao import dao_create_template
@@ -327,7 +328,7 @@ def sample_notification(notify_db,
notification_id = uuid.uuid4()
if provider_name is None:
provider_name = mmg_provider_name() if template.template_type == 'sms' else ses_provider_name()
provider = mmg_provider() if template.template_type == 'sms' else ses_provider()
if to_field:
to = to_field
@@ -348,7 +349,7 @@ def sample_notification(notify_db,
}
notification = Notification(**data)
if create:
dao_create_notification(notification, template.template_type, provider_name)
dao_create_notification(notification, template.template_type, provider.identifier)
return notification
@@ -458,18 +459,18 @@ def fake_uuid():
@pytest.fixture(scope='function')
def ses_provider_name():
return SES_PROVIDER
def ses_provider():
return ProviderDetails.query.filter_by(identifier='ses').one()
@pytest.fixture(scope='function')
def mmg_provider_name():
return MMG_PROVIDER
def firetext_provider():
return ProviderDetails.query.filter_by(identifier='mmg').one()
@pytest.fixture(scope='function')
def twilio_provider_name():
return TWILIO_PROVIDER
def mmg_provider():
return ProviderDetails.query.filter_by(identifier='mmg').one()
@pytest.fixture(scope='function')
@@ -479,13 +480,14 @@ def sample_provider_statistics(notify_db,
provider=None,
day=None,
unit_count=1):
if provider is None:
provider = mmg_provider_name()
provider = ProviderDetails.query.filter_by(identifier='mmg').first()
if day is None:
day = date.today()
stats = ProviderStatistics(
service=sample_service,
provider=provider,
provider_id=provider.id,
day=day,
unit_count=unit_count)
notify_db.session.add(stats)