Change the name of letter_class to postage, this will match the domain language used in the documentation.

Updated the tests to answer review comments.
This commit is contained in:
Rebecca Law
2018-09-18 15:22:08 +01:00
parent efb618e956
commit 1c0892888f
8 changed files with 74 additions and 94 deletions

View File

@@ -1,16 +1,26 @@
from datetime import datetime, timedelta
import json
import uuid
from flask import current_app, url_for
from datetime import datetime, timedelta
import pytest
import pytz
import requests_mock
from flask import current_app, url_for
from sqlalchemy import asc
from sqlalchemy.orm.session import make_transient
from app import db
from app.clients.sms.firetext import FiretextClient
from app.dao.api_key_dao import save_model_api_key
from app.dao.invited_user_dao import save_invited_user
from app.dao.jobs_dao import dao_create_job
from app.dao.notifications_dao import dao_create_notification
from app.dao.organisation_dao import dao_create_organisation
from app.dao.provider_rates_dao import create_provider_rates
from app.dao.services_dao import (dao_create_service, dao_add_user_to_service)
from app.dao.templates_dao import dao_create_template
from app.dao.users_dao import create_secret_code, create_user_code
from app.history_meta import create_history
from app.models import (
Service,
Template,
@@ -39,17 +49,6 @@ from app.models import (
SERVICE_PERMISSION_TYPES,
ServiceEmailReplyTo
)
from app.dao.users_dao import (create_user_code, create_secret_code)
from app.dao.organisation_dao import dao_create_organisation
from app.dao.services_dao import (dao_create_service, dao_add_user_to_service)
from app.dao.templates_dao import dao_create_template
from app.dao.api_key_dao import save_model_api_key
from app.dao.jobs_dao import dao_create_job
from app.dao.notifications_dao import dao_create_notification
from app.dao.invited_user_dao import save_invited_user
from app.dao.provider_rates_dao import create_provider_rates
from app.clients.sms.firetext import FiretextClient
from app.history_meta import create_history
from tests import create_authorization_header
from tests.app.db import (
create_user,

View File

@@ -1,10 +1,11 @@
from datetime import datetime, timedelta
import uuid
from datetime import datetime, timedelta
import pytest
from sqlalchemy.orm.exc import FlushError, NoResultFound
from sqlalchemy.exc import IntegrityError
from freezegun import freeze_time
from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm.exc import FlushError, NoResultFound
from app import db
from app.celery.scheduled_tasks import daily_stats_template_usage_by_month
from app.dao.inbound_numbers_dao import (
@@ -12,6 +13,7 @@ from app.dao.inbound_numbers_dao import (
dao_get_available_inbound_numbers,
dao_set_inbound_number_active_flag
)
from app.dao.service_permissions_dao import dao_add_service_permission, dao_remove_service_permission
from app.dao.services_dao import (
dao_create_service,
dao_add_user_to_service,
@@ -33,8 +35,7 @@ from app.dao.services_dao import (
dao_fetch_monthly_historical_stats_by_template,
dao_fetch_monthly_historical_usage_by_template_for_service
)
from app.dao.service_permissions_dao import dao_add_service_permission, dao_remove_service_permission
from app.dao.users_dao import save_model_user
from app.dao.users_dao import save_model_user, create_user_code
from app.models import (
VerifyCode,
ApiKey,
@@ -59,7 +60,6 @@ from app.models import (
LETTER_TYPE,
SERVICE_PERMISSION_TYPES
)
from tests.app.db import (
create_inbound_number,
create_user,
@@ -69,8 +69,6 @@ from tests.app.db import (
create_template,
create_notification,
create_api_key,
create_sample_inbound_numbers,
create_code,
create_invited_user
)
@@ -98,7 +96,7 @@ def test_create_service(notify_db_session):
assert service_db.email_from == 'email_from'
assert service_db.research_mode is False
assert service_db.prefix_sms is True
assert service_db.letter_class == 'second'
assert service_db.postage == 'second'
assert service.active is True
assert user in service_db.users
assert service_db.organisation_type == 'central'
@@ -356,12 +354,12 @@ def test_create_service_creates_a_history_record_with_current_data(notify_db_ses
assert service_from_db.name == service_history.name
assert service_from_db.version == 1
assert service_from_db.version == service_history.version
assert service_from_db.letter_class == 'second'
assert service_from_db.postage == 'second'
assert user.id == service_history.created_by_id
assert service_from_db.created_by.id == service_history.created_by_id
assert service_from_db.dvla_organisation_id == DVLA_ORG_HM_GOVERNMENT
assert service_history.dvla_organisation_id == DVLA_ORG_HM_GOVERNMENT
assert service_history.letter_class == 'second'
assert service_history.postage == 'second'
def test_update_service_creates_a_history_record_with_current_data(notify_db_session):
@@ -439,7 +437,7 @@ def test_update_service_permission_creates_a_history_record_with_current_data(no
assert Service.get_history_model().query.filter_by(name='service_name').all()[2].version == 3
def test_update_service_set_letter_class_to_default(notify_db_session):
def test_update_service_set_postage_to_default(notify_db_session):
user = create_user()
assert Service.query.count() == 0
assert Service.get_history_model().query.count() == 0
@@ -451,12 +449,12 @@ def test_update_service_set_letter_class_to_default(notify_db_session):
dao_create_service(service, user)
service_from_db = Service.query.first()
service_from_db.letter_class = None
service_from_db.postage = None
dao_update_service(service_from_db)
service_with_update = Service.query.first()
assert service_with_update.letter_class == 'second'
assert service_with_update.postage == 'second'
service_history_with_update = Service.get_history_model().query.filter_by(version=2).one()
assert service_history_with_update.letter_class == 'second'
assert service_history_with_update.postage == 'second'
def test_create_service_and_history_is_transactional(notify_db_session):
@@ -480,8 +478,8 @@ def test_create_service_and_history_is_transactional(notify_db_session):
def test_delete_service_and_associated_objects(notify_db_session):
user = create_user()
service = create_service(user=user, service_permissions=None)
create_code(code_type='email', usr=user)
create_code(code_type='sms', usr=user)
create_user_code(user=user, code='somecode', code_type='email')
create_user_code(user=user, code='somecode', code_type='sms')
template = create_template(service=service)
api_key = create_api_key(service=service)
create_notification(template=template, api_key=api_key)
@@ -936,8 +934,10 @@ def test_dao_fetch_service_by_inbound_number_with_inactive_number_returns_empty(
assert service is None
def test_dao_allocating_inbound_numer_shows_on_service(notify_db_session):
create_sample_inbound_numbers()
def test_dao_allocating_inbound_number_shows_on_service(notify_db_session):
create_service_with_inbound_number()
create_inbound_number(number='07700900003')
inbound_numbers = dao_get_available_inbound_numbers()
service = create_service(service_name='test service')

View File

@@ -1,14 +1,25 @@
from datetime import datetime, date
import uuid
from datetime import datetime, date
from app import db
from app.dao.email_branding_dao import dao_create_email_branding
from app.dao.inbound_sms_dao import dao_create_inbound_sms
from app.dao.invited_org_user_dao import save_invited_org_user
from app.dao.invited_user_dao import save_invited_user
from app.dao.jobs_dao import dao_create_job
from app.dao.notifications_dao import (
dao_create_notification,
dao_created_scheduled_notification
)
from app.dao.organisation_dao import dao_create_organisation
from app.dao.service_callback_api_dao import save_service_callback_api
from app.dao.service_data_retention_dao import insert_service_data_retention
from app.dao.service_inbound_api_dao import save_service_inbound_api
from app.dao.service_callback_api_dao import save_service_callback_api
from app.dao.service_permissions_dao import dao_add_service_permission
from app.dao.service_sms_sender_dao import update_existing_sms_sender_with_inbound_number, dao_update_service_sms_sender
from app.dao.invited_org_user_dao import save_invited_org_user
from app.dao.services_dao import dao_create_service
from app.dao.templates_dao import dao_create_template
from app.dao.users_dao import save_model_user
from app.models import (
ApiKey,
DailySortedLetter,
@@ -39,17 +50,6 @@ from app.models import (
Complaint,
InvitedUser
)
from app.dao.users_dao import save_model_user, create_secret_code, create_user_code
from app.dao.notifications_dao import (
dao_create_notification,
dao_created_scheduled_notification
)
from app.dao.templates_dao import dao_create_template
from app.dao.services_dao import dao_create_service
from app.dao.service_permissions_dao import dao_add_service_permission
from app.dao.inbound_sms_dao import dao_create_inbound_sms
from app.dao.email_branding_dao import dao_create_email_branding
from app.dao.organisation_dao import dao_create_organisation
def create_user(mobile_number="+447700900986", email="notify@digital.cabinet-office.gov.uk", state='active', id_=None):
@@ -664,26 +664,6 @@ def create_service_data_retention(
return data_retention
def create_sample_inbound_numbers(service=None):
if not service:
service = create_service(service_name='sample service 2')
service_2 = create_service(service_name='service 2 for inbound')
inbound_numbers = list()
inbound_numbers.append(create_inbound_number(number='1', provider='mmg'))
inbound_numbers.append(create_inbound_number(number='2', provider='mmg', active=False, service_id=service.id))
inbound_numbers.append(create_inbound_number(number='3', provider='firetext',
service_id=service_2.id))
return inbound_numbers
def create_code(code_type, usr=None, code=None):
if code is None:
code = create_secret_code()
if usr is None:
usr = create_user()
return create_user_code(usr, code, code_type), code
def create_invited_user(service=None,
to_email_address=None):

View File

@@ -138,7 +138,7 @@ def test_get_service_by_id(admin_request, sample_service):
assert 'branding' not in json_resp['data']
assert json_resp['data']['dvla_organisation'] == '001'
assert json_resp['data']['prefix_sms'] is True
assert json_resp['data']['letter_class'] == 'second'
assert json_resp['data']['postage'] == 'second'
@pytest.mark.parametrize('detailed', [True, False])