update fact_billing_dao::get_rate to use dates not datetimes

update unit tests too
This commit is contained in:
Leo Hemsted
2019-04-03 14:52:41 +01:00
parent 6f41f6c7d7
commit 9f1f858997
3 changed files with 18 additions and 14 deletions

View File

@@ -3,7 +3,6 @@ from decimal import Decimal
import pytest
from freezegun import freeze_time
from sqlalchemy import desc
from app.celery.reporting_tasks import create_nightly_billing, create_nightly_notification_status
from app.dao.fact_billing_dao import get_rate
@@ -19,7 +18,7 @@ from tests.app.db import create_service, create_template, create_notification, c
def mocker_get_rate(
non_letter_rates, letter_rates, notification_type, date, crown=None, rate_multiplier=None, post_class="second"
non_letter_rates, letter_rates, notification_type, bst_date, crown=None, rate_multiplier=None, post_class="second"
):
if notification_type == LETTER_TYPE:
return Decimal(2.1)
@@ -326,20 +325,20 @@ def test_get_rate_for_letter_latest(notify_db_session):
old = create_letter_rate(datetime(2016, 12, 1), crown=True, sheet_count=1, rate=0.30, post_class='second')
letter_rates = [new, old]
rate = get_rate([], letter_rates, LETTER_TYPE, datetime(2018, 1, 1), True, 1)
rate = get_rate([], letter_rates, LETTER_TYPE, date(2018, 1, 1), True, 1)
assert rate == Decimal(0.33)
def test_get_rate_for_sms_and_email(notify_db_session):
non_letter_rates = [
create_rate(datetime(2017, 12, 1), 0.15, SMS_TYPE)
create_rate(datetime(2017, 12, 1), 0.15, SMS_TYPE),
create_rate(datetime(2017, 12, 1), 0, EMAIL_TYPE)
]
rate = get_rate(non_letter_rates, [], SMS_TYPE, datetime(2018, 1, 1))
rate = get_rate(non_letter_rates, [], SMS_TYPE, date(2018, 1, 1))
assert rate == Decimal(0.15)
rate = get_rate(non_letter_rates, [], EMAIL_TYPE, datetime(2018, 1, 1))
rate = get_rate(non_letter_rates, [], EMAIL_TYPE, date(2018, 1, 1))
assert rate == Decimal(0)