Refactor is_precompiled_letter to model

This commit is contained in:
Ken Tsang
2018-03-07 15:42:59 +00:00
parent 28136734e4
commit 7011b90bd4
16 changed files with 126 additions and 62 deletions

View File

@@ -3,7 +3,7 @@ from app.dao.stats_template_usage_by_month_dao import (
insert_or_update_stats_for_template,
dao_get_template_usage_stats_by_service
)
from app.models import StatsTemplateUsageByMonth
from app.models import StatsTemplateUsageByMonth, LETTER_TYPE, PRECOMPILED_TEMPLATE_NAME
from tests.app.db import create_service, create_template
@@ -74,6 +74,36 @@ def test_dao_get_template_usage_stats_by_service(sample_service):
assert len(result) == 1
def test_dao_get_template_usage_stats_by_service_for_precompiled_letters(sample_service):
letter_template = create_template(service=sample_service, template_type=LETTER_TYPE)
precompiled_letter_template = create_template(
service=sample_service, template_name=PRECOMPILED_TEMPLATE_NAME, hidden=True, template_type=LETTER_TYPE)
db.session.add(StatsTemplateUsageByMonth(
template_id=letter_template.id,
month=5,
year=2017,
count=10
))
db.session.add(StatsTemplateUsageByMonth(
template_id=precompiled_letter_template.id,
month=4,
year=2017,
count=20
))
result = dao_get_template_usage_stats_by_service(sample_service.id, 2017)
assert len(result) == 2
assert [
(letter_template.id, 'letter Template Name', 'letter', False, 5, 2017, 10),
(precompiled_letter_template.id, PRECOMPILED_TEMPLATE_NAME, 'letter', True, 4, 2017, 20)
] == result
def test_dao_get_template_usage_stats_by_service_specific_year(sample_service):
email_template = create_template(service=sample_service, template_type="email")

View File

@@ -13,7 +13,12 @@ from app.dao.templates_dao import (
dao_get_templates_for_cache,
dao_redact_template, dao_update_template_reply_to
)
from app.models import Template, TemplateHistory, TemplateRedacted
from app.models import (
Template,
TemplateHistory,
TemplateRedacted,
PRECOMPILED_TEMPLATE_NAME
)
from tests.app.conftest import sample_template as create_sample_template
from tests.app.db import create_template, create_letter_contact
@@ -489,8 +494,7 @@ def test_get_templates_by_ids_successful(notify_db, notify_db_session):
notify_db_session,
template_name='Sample Template 2',
template_type="sms",
content="Template content",
hidden=True
content="Template content"
)
create_sample_template(
notify_db,
@@ -505,7 +509,32 @@ def test_get_templates_by_ids_successful(notify_db, notify_db_session):
templates = dao_get_templates_for_cache(cache)
assert len(templates) == 2
assert [(template_1.id, template_1.template_type, template_1.name, False, 2),
(template_2.id, template_2.template_type, template_2.name, True, 3)] == templates
(template_2.id, template_2.template_type, template_2.name, False, 3)] == templates
def test_get_letter_templates_by_ids_successful(notify_db, notify_db_session):
template_1 = create_sample_template(
notify_db,
notify_db_session,
template_name=PRECOMPILED_TEMPLATE_NAME,
template_type="letter",
content="Template content",
hidden=True
)
template_2 = create_sample_template(
notify_db,
notify_db_session,
template_name='Sample Template 2',
template_type="letter",
content="Template content"
)
sample_cache_dict = {str.encode(str(template_1.id)): str.encode('2'),
str.encode(str(template_2.id)): str.encode('3')}
cache = [[k, v] for k, v in sample_cache_dict.items()]
templates = dao_get_templates_for_cache(cache)
assert len(templates) == 2
assert [(template_1.id, template_1.template_type, template_1.name, True, 2),
(template_2.id, template_2.template_type, template_2.name, False, 3)] == templates
def test_get_templates_by_ids_successful_for_one_cache_item(notify_db, notify_db_session):