mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-02 09:26:08 -05:00
Standardise tests for nightly billing sub-task
This commit is contained in:
@@ -119,13 +119,14 @@ def test_create_nightly_notification_status_triggers_relevant_tasks(
|
|||||||
[(1.0, 1, 2, [1]),
|
[(1.0, 1, 2, [1]),
|
||||||
(2.0, 2, 1, [1, 2])])
|
(2.0, 2, 1, [1, 2])])
|
||||||
def test_create_nightly_billing_for_day_sms_rate_multiplier(
|
def test_create_nightly_billing_for_day_sms_rate_multiplier(
|
||||||
sample_service,
|
sample_service,
|
||||||
sample_template,
|
sample_template,
|
||||||
mocker,
|
mocker,
|
||||||
second_rate,
|
second_rate,
|
||||||
records_num,
|
records_num,
|
||||||
billable_units,
|
billable_units,
|
||||||
multiplier):
|
multiplier
|
||||||
|
):
|
||||||
|
|
||||||
yesterday = datetime.now() - timedelta(days=1)
|
yesterday = datetime.now() - timedelta(days=1)
|
||||||
|
|
||||||
@@ -154,11 +155,10 @@ def test_create_nightly_billing_for_day_sms_rate_multiplier(
|
|||||||
records = FactBilling.query.all()
|
records = FactBilling.query.all()
|
||||||
assert len(records) == 0
|
assert len(records) == 0
|
||||||
|
|
||||||
# Celery expects the arguments to be a string or primitive type.
|
create_nightly_billing_for_day(str(yesterday.date()))
|
||||||
yesterday_str = datetime.strftime(yesterday, "%Y-%m-%d")
|
|
||||||
create_nightly_billing_for_day(yesterday_str)
|
|
||||||
records = FactBilling.query.order_by('rate_multiplier').all()
|
records = FactBilling.query.order_by('rate_multiplier').all()
|
||||||
assert len(records) == records_num
|
assert len(records) == records_num
|
||||||
|
|
||||||
for i, record in enumerate(records):
|
for i, record in enumerate(records):
|
||||||
assert record.bst_date == datetime.date(yesterday)
|
assert record.bst_date == datetime.date(yesterday)
|
||||||
assert record.rate == Decimal(1.33)
|
assert record.rate == Decimal(1.33)
|
||||||
@@ -170,7 +170,8 @@ def test_create_nightly_billing_for_day_different_templates(
|
|||||||
sample_service,
|
sample_service,
|
||||||
sample_template,
|
sample_template,
|
||||||
sample_email_template,
|
sample_email_template,
|
||||||
mocker):
|
mocker
|
||||||
|
):
|
||||||
yesterday = datetime.now() - timedelta(days=1)
|
yesterday = datetime.now() - timedelta(days=1)
|
||||||
|
|
||||||
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
||||||
@@ -196,11 +197,9 @@ def test_create_nightly_billing_for_day_different_templates(
|
|||||||
|
|
||||||
records = FactBilling.query.all()
|
records = FactBilling.query.all()
|
||||||
assert len(records) == 0
|
assert len(records) == 0
|
||||||
# Celery expects the arguments to be a string or primitive type.
|
create_nightly_billing_for_day(str(yesterday.date()))
|
||||||
yesterday_str = datetime.strftime(yesterday, "%Y-%m-%d")
|
|
||||||
create_nightly_billing_for_day(yesterday_str)
|
|
||||||
records = FactBilling.query.order_by('rate_multiplier').all()
|
|
||||||
|
|
||||||
|
records = FactBilling.query.order_by('rate_multiplier').all()
|
||||||
assert len(records) == 2
|
assert len(records) == 2
|
||||||
multiplier = [0, 1]
|
multiplier = [0, 1]
|
||||||
billable_units = [0, 1]
|
billable_units = [0, 1]
|
||||||
@@ -214,10 +213,11 @@ def test_create_nightly_billing_for_day_different_templates(
|
|||||||
|
|
||||||
|
|
||||||
def test_create_nightly_billing_for_day_different_sent_by(
|
def test_create_nightly_billing_for_day_different_sent_by(
|
||||||
sample_service,
|
sample_service,
|
||||||
sample_template,
|
sample_template,
|
||||||
sample_email_template,
|
sample_email_template,
|
||||||
mocker):
|
mocker
|
||||||
|
):
|
||||||
yesterday = datetime.now() - timedelta(days=1)
|
yesterday = datetime.now() - timedelta(days=1)
|
||||||
|
|
||||||
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
||||||
@@ -244,13 +244,11 @@ def test_create_nightly_billing_for_day_different_sent_by(
|
|||||||
|
|
||||||
records = FactBilling.query.all()
|
records = FactBilling.query.all()
|
||||||
assert len(records) == 0
|
assert len(records) == 0
|
||||||
|
create_nightly_billing_for_day(str(yesterday.date()))
|
||||||
|
|
||||||
# Celery expects the arguments to be a string or primitive type.
|
|
||||||
yesterday_str = datetime.strftime(yesterday, "%Y-%m-%d")
|
|
||||||
create_nightly_billing_for_day(yesterday_str)
|
|
||||||
records = FactBilling.query.order_by('rate_multiplier').all()
|
records = FactBilling.query.order_by('rate_multiplier').all()
|
||||||
|
|
||||||
assert len(records) == 2
|
assert len(records) == 2
|
||||||
|
|
||||||
for _, record in enumerate(records):
|
for _, record in enumerate(records):
|
||||||
assert record.bst_date == datetime.date(yesterday)
|
assert record.bst_date == datetime.date(yesterday)
|
||||||
assert record.rate == Decimal(1.33)
|
assert record.rate == Decimal(1.33)
|
||||||
@@ -259,9 +257,10 @@ def test_create_nightly_billing_for_day_different_sent_by(
|
|||||||
|
|
||||||
|
|
||||||
def test_create_nightly_billing_for_day_different_letter_postage(
|
def test_create_nightly_billing_for_day_different_letter_postage(
|
||||||
notify_db_session,
|
notify_db_session,
|
||||||
sample_letter_template,
|
sample_letter_template,
|
||||||
mocker):
|
mocker
|
||||||
|
):
|
||||||
yesterday = datetime.now() - timedelta(days=1)
|
yesterday = datetime.now() - timedelta(days=1)
|
||||||
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
||||||
|
|
||||||
@@ -301,9 +300,7 @@ def test_create_nightly_billing_for_day_different_letter_postage(
|
|||||||
|
|
||||||
records = FactBilling.query.all()
|
records = FactBilling.query.all()
|
||||||
assert len(records) == 0
|
assert len(records) == 0
|
||||||
# Celery expects the arguments to be a string or primitive type.
|
create_nightly_billing_for_day(str(yesterday.date()))
|
||||||
yesterday_str = datetime.strftime(yesterday, "%Y-%m-%d")
|
|
||||||
create_nightly_billing_for_day(yesterday_str)
|
|
||||||
|
|
||||||
records = FactBilling.query.order_by('postage').all()
|
records = FactBilling.query.order_by('postage').all()
|
||||||
assert len(records) == 4
|
assert len(records) == 4
|
||||||
@@ -334,9 +331,10 @@ def test_create_nightly_billing_for_day_different_letter_postage(
|
|||||||
|
|
||||||
|
|
||||||
def test_create_nightly_billing_for_day_letter(
|
def test_create_nightly_billing_for_day_letter(
|
||||||
sample_service,
|
sample_service,
|
||||||
sample_letter_template,
|
sample_letter_template,
|
||||||
mocker):
|
mocker
|
||||||
|
):
|
||||||
yesterday = datetime.now() - timedelta(days=1)
|
yesterday = datetime.now() - timedelta(days=1)
|
||||||
|
|
||||||
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
||||||
@@ -353,11 +351,11 @@ def test_create_nightly_billing_for_day_letter(
|
|||||||
|
|
||||||
records = FactBilling.query.all()
|
records = FactBilling.query.all()
|
||||||
assert len(records) == 0
|
assert len(records) == 0
|
||||||
# Celery expects the arguments to be a string or primitive type.
|
create_nightly_billing_for_day(str(yesterday.date()))
|
||||||
yesterday_str = datetime.strftime(yesterday, "%Y-%m-%d")
|
|
||||||
create_nightly_billing_for_day(yesterday_str)
|
|
||||||
records = FactBilling.query.order_by('rate_multiplier').all()
|
records = FactBilling.query.order_by('rate_multiplier').all()
|
||||||
assert len(records) == 1
|
assert len(records) == 1
|
||||||
|
|
||||||
record = records[0]
|
record = records[0]
|
||||||
assert record.notification_type == LETTER_TYPE
|
assert record.notification_type == LETTER_TYPE
|
||||||
assert record.bst_date == datetime.date(yesterday)
|
assert record.bst_date == datetime.date(yesterday)
|
||||||
@@ -367,9 +365,10 @@ def test_create_nightly_billing_for_day_letter(
|
|||||||
|
|
||||||
|
|
||||||
def test_create_nightly_billing_for_day_null_sent_by_sms(
|
def test_create_nightly_billing_for_day_null_sent_by_sms(
|
||||||
sample_service,
|
sample_service,
|
||||||
sample_template,
|
sample_template,
|
||||||
mocker):
|
mocker
|
||||||
|
):
|
||||||
yesterday = datetime.now() - timedelta(days=1)
|
yesterday = datetime.now() - timedelta(days=1)
|
||||||
|
|
||||||
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
mocker.patch('app.dao.fact_billing_dao.get_rate', side_effect=mocker_get_rate)
|
||||||
@@ -387,12 +386,10 @@ def test_create_nightly_billing_for_day_null_sent_by_sms(
|
|||||||
records = FactBilling.query.all()
|
records = FactBilling.query.all()
|
||||||
assert len(records) == 0
|
assert len(records) == 0
|
||||||
|
|
||||||
# Celery expects the arguments to be a string or primitive type.
|
create_nightly_billing_for_day(str(yesterday.date()))
|
||||||
yesterday_str = datetime.strftime(yesterday, "%Y-%m-%d")
|
|
||||||
create_nightly_billing_for_day(yesterday_str)
|
|
||||||
records = FactBilling.query.all()
|
records = FactBilling.query.all()
|
||||||
|
|
||||||
assert len(records) == 1
|
assert len(records) == 1
|
||||||
|
|
||||||
record = records[0]
|
record = records[0]
|
||||||
assert record.bst_date == datetime.date(yesterday)
|
assert record.bst_date == datetime.date(yesterday)
|
||||||
assert record.rate == Decimal(1.33)
|
assert record.rate == Decimal(1.33)
|
||||||
|
|||||||
Reference in New Issue
Block a user