Merge branch 'populate-monthly-letter-usages' of github.com:alphagov/notifications-api into populate-monthly-letter-usages

This commit is contained in:
Rebecca Law
2017-12-15 10:34:20 +00:00
5 changed files with 34 additions and 13 deletions

View File

@@ -706,6 +706,7 @@ def test_populate_monthly_billing_updates_correct_month_in_bst(sample_template):
assert monthly_billing[2].notification_type == 'letter'
assert monthly_billing[2].monthly_totals == []
def test_run_letter_jobs(client, mocker, sample_letter_template):
jobs = [create_job(template=sample_letter_template, job_status=JOB_STATUS_READY_TO_SEND),
create_job(template=sample_letter_template, job_status=JOB_STATUS_READY_TO_SEND)]

View File

@@ -11,13 +11,14 @@ from app.dao.monthly_billing_dao import (
get_billing_data_for_financial_year
)
from app.models import MonthlyBilling, SMS_TYPE, EMAIL_TYPE
from tests.app.conftest import sample_letter_template
from tests.app.db import (
create_notification,
create_rate,
create_service,
create_template,
create_monthly_billing_entry
)
create_monthly_billing_entry,
create_letter_rate)
FEB_2016_MONTH_START = datetime(2016, 2, 1)
FEB_2016_MONTH_END = datetime(2016, 2, 29, 23, 59, 59, 99999)
@@ -253,8 +254,9 @@ def test_add_monthly_billing_for_multiple_months_populate_correctly(
def test_add_monthly_billing_with_multiple_rates_populate_correctly(
sample_template
sample_template, sample_email_template
):
letter_template = sample_letter_template(sample_template.service)
create_rate(start_date=JAN_2017_MONTH_START, value=0.0158, notification_type=SMS_TYPE)
create_rate(start_date=JAN_2017_MONTH_START + timedelta(days=5), value=0.123, notification_type=SMS_TYPE)
create_notification(template=sample_template, created_at=JAN_2017_MONTH_START, billable_units=1, status='delivered')
@@ -263,6 +265,11 @@ def test_add_monthly_billing_with_multiple_rates_populate_correctly(
billable_units=2, status='delivered'
)
create_notification(template=sample_email_template, created_at=JAN_2017_MONTH_START, status='delivered')
create_notification(template=letter_template, created_at=JAN_2017_MONTH_START, status='delivered',
billable_units=1)
create_letter_rate(start_date=JAN_2017_MONTH_START, crown=False)
create_or_update_monthly_billing(service_id=sample_template.service_id, billing_month=JAN_2017_MONTH_START)
monthly_billing = MonthlyBilling.query.order_by(MonthlyBilling.notification_type).all()
@@ -271,7 +278,13 @@ def test_add_monthly_billing_with_multiple_rates_populate_correctly(
_assert_monthly_billing(
monthly_billing[0], sample_template.service.id, 'email', JAN_2017_MONTH_START, JAN_2017_MONTH_END
)
assert monthly_billing[0].monthly_totals == []
_assert_monthly_billing_totals(monthly_billing[0].monthly_totals[0], {
"billing_units": 1,
"rate_multiplier": 1,
"international": False,
"rate": 0.0,
"total_cost": 0.0
})
_assert_monthly_billing(
monthly_billing[1], sample_template.service.id, 'sms', JAN_2017_MONTH_START, JAN_2017_MONTH_END
@@ -294,7 +307,13 @@ def test_add_monthly_billing_with_multiple_rates_populate_correctly(
_assert_monthly_billing(
monthly_billing[2], sample_template.service.id, 'letter', JAN_2017_MONTH_START, JAN_2017_MONTH_END
)
assert monthly_billing[0].monthly_totals == []
_assert_monthly_billing_totals(monthly_billing[2].monthly_totals[0], {
"billing_units": 1,
"rate_multiplier": 1,
"international": False,
"rate": 0.31,
"total_cost": 0.31
})
def test_update_monthly_billing_overwrites_old_totals(sample_template):

View File

@@ -232,5 +232,5 @@ def test_billing_letter_data_per_month_query(
end_date=datetime(2017, 2, 28))
assert len(results) == 1
print(results[0].rate)
assert results[0].rate == 0.31
assert results[0].billing_units == 3